| Summary: | DS has mandatory imports on framework implementation classes! | ||
|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | Peter Kriens <Peter.Kriens> |
| Component: | Compendium | Assignee: | equinox.compendium-inbox <equinox.compendium-inbox> |
| Status: | RESOLVED WORKSFORME | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | s.boshev, sja.eclipse, tjwatson |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Mac OS X - Carbon (unsup.) | ||
| Whiteboard: | |||
|
Description
Peter Kriens
The org.eclipse.osgi.framework.console package is optional because it is not part of the supplement bundle. The rest of the FW specific packages are part of the org.eclipse.equinox.supplement bundle which needs to be installed together with DS bundle if it has to be run on other OSGi frameworks. but org.eclipse.osgi.framework.console was a mandatory import? You really think it is a good idea that if people want to use DS they have to install a plethora of bundles just to get it running? With the only reason to save a few bytes? This maybe not JAR hell but it surely leads to Bundle hell :-( (In reply to comment #2) > but org.eclipse.osgi.framework.console was a mandatory import? Yes. But it was changed to optional since 11.02.2010 > > You really think it is a good idea that if people want to use DS they have to > install a plethora of bundles just to get it running? With the only reason to > save a few bytes? This maybe not JAR hell but it surely leads to Bundle hell > :-( AFAIK the idea of the supplement bundle is exactly the one as in your use case - "portability between frameworks" The supplement bundle is available for the non-optional packages. We don't want to force bundle hell on anyone, but we also don't want to duplicate classes over and over to make modules isolated islands. There is a balance that must be achieved. BTW, I am not claiming we have achieved the correct balance, but I also don't think we are all of a sudden going to make our DS implementation include all of its external dependencies as internal classes. |