Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Buckminster » Only feature JARs getting packaged for the update site
Only feature JARs getting packaged for the update site [message #382734] Tue, 03 February 2009 03:22 Go to next message
Jimmy Royer is currently offline Jimmy RoyerFriend
Messages: 16
Registered: July 2009
Junior Member
Hi!

I just started using Buckminster. My current goal is to build an update
site for our Eclipse plugins. All of our projects are Eclipse plug-ins
(OSGi bundles) . We have approximatively 13 plugins and two features. One
of the features comprises all of our custom plug-ins, and the other
comprises all of our RCP dependencies. We use the second feature so that
we can provide an update site for the RCP Product version of our
application. From our current plug-ins, we can successfully build an
update site and an RCP product using the PDE tooling. We wanted to try
Buckminster as an alternative to using PDE/Build for doing a command-line
headless build of our projects.

I went through the "Building an Update Site" example. I am able to invoke
the action without having any errors. The resulted update site isn't what
I expect though. In the zip file of the update site, I end up with an
incorrect update site. I have a features/ directory that is as expected,
with feature JARs for my two custom features and for all included
features. But my plugins/ directory has *exactly the same contents* as
the features/ directory. There are no plugins (bundles) at all.

Clearly, something is wrong and I can't put my finger on it. I am
attaching the CSpec file I created during the example process at the end
of the message. Has anyone seen this behavior before? Does anyone know
what's wrong with my Buckminster setup?

I have another question about the example, specific this time, and
possibly related. It is related to the Groups and Dependencies. From what
I understand, we have to list the features and plugins upon which our
update site depends on in the Dependencies. For our update site
configuration, we only have two features, one for the Eclipse RCP
dependencies plugins/features named "modex.designer.rcp_deps" and
another one for our project - specific (custom) plugins named
"modex.designer.feature" .

My question is, do we also need to include all the plugins and features
that are listed as dependencies of both of these features (in their
respective feature.xml files) ? I assume not , because I think Buckminster
does analyze the two features and derive dependencies. If my assumption
is correct though, why would we end up with only the features for both
plugins/features update site directories and not any plugins at all?

Would appreciate any help at all. Thanks!

This is the CSpec:

<?xml version="1.0" encoding="UTF-8"?>
<cs:cspec xmlns:cs="http://www.eclipse.org/buckminster/CSpec-1.0"
name="modex.designer.update" componentType="buckminster" version="1.4.4"
versionType="OSGi">
<cs:dependencies>
<cs:dependency name="modex.designer.feature"
componentType="eclipse.feature"/>
<cs:dependency name="modex.designer.rcp_deps"
componentType="eclipse.feature"/>
</cs:dependencies>
<cs:artifacts>
<cs:private name="site.rootFiles" path="index.html"/>
<cs:private name="site.template" path="site.xml"/>
</cs:artifacts>
<cs:actions>
<cs:public name="build.site" actor="ant">
<cs:actorProperties>
<cs:property key="buildFileId"
value="buckminster.pdetasks"/>
<cs:property key="targets" value="create.site"/>
</cs:actorProperties>
<cs:properties>
<cs:property key="site.name"
value="modex.designer.updatesite"/>
</cs:properties>
<cs:prerequisites>
<cs:attribute name="bundle.jars" alias="plugins"/>
<cs:attribute name="feature.jars" alias="features"/>
<cs:attribute name="site.rootFiles" alias="rootFiles"/>
<cs:attribute name="site.template" alias="template"/>
</cs:prerequisites>
<cs:products alias="action.output" base="site/"/>
</cs:public>
</cs:actions>
<cs:groups>
<cs:private name="bundle.jars"/>
<cs:private name="feature.jars">
<cs:attribute name="feature.jars"
component="modex.designer.feature"/>
<cs:attribute name="feature.jars"
component="modex.designer.rcp_deps"/>
</cs:private>
</cs:groups>
</cs:cspec>

Regards,
Jimmy
Re: Only feature JARs getting packaged for the update site [message #382735 is a reply to message #382734] Tue, 03 February 2009 06:05 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Hi Jimmy,


Jimmy Royer wrote:
> ... with an incorrect update site. I have a features/ directory that is as
> expected, with feature JARs for my two custom features and for all
> included features. But my plugins/ directory has *exactly the same
> contents* as the features/ directory. There are no plugins (bundles)
> at all.
> Clearly, something is wrong and I can't put my finger on it. I am
> attaching the CSpec file I created during the example process at the end
> of the message. Has anyone seen this behavior before? Does anyone know
> what's wrong with my Buckminster setup?

With the attached cspec I would expect the plugins folder to be
completely empty. Yet you say it is exactly the same as the features
folder. Do you really get feature jars in the plugins folder?

In any case, try declaring the bundles.jar group like this:

<cs:private name="bundle.jars">
<cs:attribute name="bundle.jars" component="modex.designer.feature"/>
<cs:attribute name="bundle.jars" component="modex.designer.rcp_deps"/>
</cs:private>

The reason being that the bundles.jar group is supposed to collect the
bundles.jar from each of the included features (this is done transitively).


> I have another question about the example, specific this time, and
> possibly related. It is related to the Groups and Dependencies. From
> what I understand, we have to list the features and plugins upon which
> our update site depends on in the Dependencies.

No, that's not correct. In the dependencies you only list features, not
the plugins.


> For our update site
> configuration, we only have two features, one for the Eclipse RCP
> dependencies plugins/features named "modex.designer.rcp_deps" and
> another one for our project - specific (custom) plugins named
> "modex.designer.feature" .
> My question is, do we also need to include all the plugins and
> features that are listed as dependencies of both of these features (in
> their respective feature.xml files) ? I assume not , because I think
> Buckminster does analyze the two features and derive dependencies. If
> my assumption is correct though, why would we end up with only the
> features for both plugins/features update site directories and not any
> plugins at all?
>
The plugins will all be there once you fix the plugins.jar group. As for
the included features; Yes, it's true that Buckminster analyzes all
dependencies. You write yourself that "I have a features/ directory that
is as expected, with feature JARs for my two custom features and for all
included features" which should be good proof of that function.

Or is the question why the features doesn't end up in the site.xml?
That's because Buckminster assumes that you want to hide nested
features. If you want the nested features exposed, then you must promote
them to top-level features and include them separately.

Regards,
Thomas Hallgren
Re: Only feature JARs getting packaged for the update site [message #382770 is a reply to message #382735] Tue, 10 February 2009 23:02 Go to previous message
Jimmy Royer is currently offline Jimmy RoyerFriend
Messages: 16
Registered: July 2009
Junior Member
Hi Thomas,

Sorry I didn't have time to reply on this, I had to put Buckminster aside
for some days.

Thanks for your answer, it was insightful and helped me to identify the
cause of my problem. What you proposed worked.

Thanks again!
Jimmy
Previous Topic:New version uploaded
Next Topic:Buckminster hangs on startup on Eclipse Infrastructure
Goto Forum:
  


Current Time: Fri Mar 29 05:04:20 GMT 2024

Powered by FUDForum. Page generated in 0.04482 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top