3

I am developing a Eclipse application and want to migrate to Eclipse 4.4 now. In my application setup I am using BIRT (latest release 4.4.0), which comes with the Apache Batik plugins:

  • org.apache.batik.bridge_1.6.0.v201011041432.jar
  • org.apache.batik.css_1.6.0.v201011041432.jar
  • org.apache.batik.css_1.7.0.v201011041433.jar
  • org.apache.batik.dom.svg_1.6.0.v201011041432.jar
  • org.apache.batik.dom_1.6.0.v201011041432.jar
  • org.apache.batik.ext.awt_1.6.0.v201011041432.jar
  • org.apache.batik.parser_1.6.0.v201011041432.jar
  • org.apache.batik.pdf_1.6.0.v201105071520.jar
  • org.apache.batik.svggen_1.6.0.v201011041432.jar
  • org.apache.batik.transcoder_1.6.0.v201011041432.jar
  • org.apache.batik.util.gui_1.6.0.v201011041432.jar
  • org.apache.batik.util.gui_1.7.0.v200903091627.jar
  • org.apache.batik.util_1.6.0.v201011041432.jar
  • org.apache.batik.util_1.7.0.v201011041433.jar
  • org.apache.batik.xml_1.6.0.v201011041432.jar

Additionally, I use GMF (latest release 1.8.1), which comes with all the batik bundles in version 1.6.

I put everything in my target platform, but nevertheless I get into troubles with the batik versions if I want to verify my product. Eclipse seems to depend on the 1.7 versions (i.e. the bundle org.eclipse.e4.ui.css.core). But GMF requires the 1.6 versions. And once org.apache.batik.pdf is included, which is only there as version 1.6, there is the problem that this imports all the other batik packages in their version 1.6.

I thought it was possible to run it with several versions active next to each other, since batik is not singleton. But if I validate the product in Eclipse I get errors that one or the other version is missing.

I tried several combinations:

Only 1.7 packages

If I include all the 1.7 packages in my target platform and not the 1.6 packages, GMF complains about the missing 1.6 packages.

Validation without 1.6

Only 1.6 packages

If I include only the 1.6 packages and not the 1.7 packages, the eclipse framework (bundle org.eclipse.e4.ui.css.core) complains about the missing 1.7 packages.

Validation without 1.7

Both 1.6 and 1.7 packages

If I include both versions in the target platform, it seems to take the newest ones. Then I get complaints from org.apache.batik.pdf (which is there only as 1.6) missing the 1.6 versions of the other bundles, and the same again from the GMF bundle.

Validation with both 1.6 and 1.7

About running the product:

I found these forum posts:
http://www.eclipse.org/forums/index.php/t/207375/
http://www.eclipse.org/forums/index.php/t/787032/

Basically they are suggesting to edit the run configuration of the product, and include the all bundles (both versions 1.6 and 1.7) there.

After some trying, this actually worked for me, however my question is still:

Are bundles not allowed to be included and co-exist in several versions? Why is the product loading only the higher version if the lower version is also required? Or is the whole thing maybe a bug in the validation tool of the Eclipse IDE? Or am I missing something completely different?

Terry
  • 14,529
  • 13
  • 63
  • 88

1 Answers1

2

The problem seems to be linked to the Eclipse product validation mechanism.

I am facing the same problem with an eclipse RCP application based on features. I doesn't work with the Eclipse launcher, but my product is correctly built by Tycho.

A bug is opened in the Eclipse Bugzilla, and it will be fixed for the Mars release : https://bugs.eclipse.org/bugs/show_bug.cgi?id=367187

Jonathan
  • 31
  • 4