Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 312969 - DS has mandatory imports on framework implementation classes!
Summary: DS has mandatory imports on framework implementation classes!
Status: RESOLVED WORKSFORME
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Compendium (show other bugs)
Version: unspecified   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: equinox.compendium-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-14 15:27 EDT by Peter Kriens CLA
Modified: 2010-05-17 15:54 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Kriens CLA 2010-05-14 15:27:13 EDT
The DS component bundle from equinox imports: org.eclipse.osgi.framework.console, org.eclipse.osgi.service.debug. This implies that the bundle can only run on Equinox and not on Felix and Knopflerfish or others. 

The key idea of OSGi is that this stuff is portable between frameworks ... Could you not add these packages to the util bundle? Or at least make them optional?
Comment 1 Stoyan Boshev CLA 2010-05-15 03:35:02 EDT
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.
Comment 2 Peter Kriens CLA 2010-05-15 07:13:11 EDT
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 :-(
Comment 3 Stoyan Boshev CLA 2010-05-15 07:32:46 EDT
(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"
Comment 4 Thomas Watson CLA 2010-05-17 15:54:44 EDT
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.