Community
Participate
Working Groups
I tried to build an OSGi server based on jetty's web starter kit. It re-uses the org.eclipse.jetty.all feature. Unfortunately the product we build internally has other 3rd party dependencies that require a newer version of javax.annoation than the one provided by orbit: orbit provides version 1.0, other dependencies require 1.1 Jetty itself happily works with version 1.0 and 1.1 and org.eclipse.jetty.annotations's MANIFEST.MF allow both versions. However the feature org.eclipse.jetty.allorg.eclipse.jetty.all includes a specific version of javax.annotation so if we build our proudct based on that feature it imposes that particular version of javax.annotation. The goal of this enhancement is to relax this.
This type of question keeps coming back. The consensus is to be fairly conservative and actually impose versions of dependencies that are known to work; leaving less room to be able to plug a different set of dependencies. In this particular case, I will introduce a separate feature org.eclipse.jetty.all.dependencies It will carry all the dependencies avaialble on eclipse orbit and known to work with jetty-osgi. This feature will be included in the EclipseRTWebStarterKit. But this feature will not be included in org.eclipse.jetty.all Consumers of jetty-osgi will have the choice to define their own set of dependencies or to reuse jetty's org.eclipse.jetty.all.dependencies feature.
Fixed for Indigo-M6: the dependencies are all placed in a separate feature which is not directly included in the RTWebStarterKit product.