Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Buckminster » site.p2 action does not generate all bundles correctly for create.product - SOLVED
site.p2 action does not generate all bundles correctly for create.product - SOLVED [message #651733] Tue, 01 February 2011 08:13
Matthew Webber is currently offline Matthew Webber
Messages: 198
Registered: December 2010
Senior Member
I have seen a few references to this problem, here is my solution:

Background:

I am following the standard method of building an RCP product (http://www.ralfebert.de/blog/eclipsercp/rcp_builds/). So:

I have a myproduct.feature project, which lists a number of plugins.

I have a myproduct.site feature project, the site feature.xml just includes the myproduct.feature, and has a cspecx which includes two new actions, create.product and create.product.zip.

I then run
clean
build
perform -D target.os=linux -D target.ws=gtk -D target.arch=x86 -D qualifier.replacement.*=generator:lastRevision myproduct.site#site.p2
perform -D target.os=linux -D target.ws=gtk -D target.arch=x86 myproduct.site#create.product


My problem was that the create.product action failed with one plugin missing. The plugin is correctly listed in the myproduct.feature feature.xml. This failure occurred both with headless Buckminster, and when running from the Eclipse IDE.

If I looked in the buckminster.output.root directory, there was a directory for the "missing" plugin: buckminster.output.root/problematic.plugin_1.0.0-osgi.bundle. However, when I looked in buckminster.output.root/myproduct.site_1.0.0-eclipse.feature /site.p2/plugins, I could see all the plugins I expected except the plugin that the create.product action reported as missing.

A bit more digging showed a problem in the buckminster.output.root/problematic.plugin_1.0.0-osgi.bundle directory. This contains a sub-directory called jar/ which should contain problematic.plugin_1.0.0.version.jar but instead contained a file called ${bundle.id}_${bundle.version}.jar (literally that, with the variables not substituted).


Solution:
After some considerable experimentation, I found the problem: the MANIFEST.MF for the plugin that I had problems with did not specify any Manifest-Version. When I added a line "Manifest-Version: 1.0" at the top of the manifest, everything worked properly. Note that the manifest had "Bundle-ManifestVersion: 2", but it turns out this was not enough.

Matthew Webber
Previous Topic:problems using b3aggregator & hudson with buckminster
Next Topic:headless buckminster -- error with svn; no secure storage modules found
Goto Forum:
  


Current Time: Sun Apr 20 12:33:47 EDT 2014

Powered by FUDForum. Page generated in 0.01402 seconds