| Summary: | Provisioning an Eclipse 4 application is difficult due to lack of explicit dependencies on DS and EventAdmin | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Brian de Alwis <bsd> |
| Component: | UI | Assignee: | Platform-UI-Inbox <Platform-UI-Inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | bugs.eclipse.org, john.arthorne, Lars.Vogel, Mike_Wilson, mistria, oscarvarto, pascal, Peter_Weihrauch, remy.suen, t-oberlies, tjwatson |
| Version: | 4.2 | ||
| Target Milestone: | 4.3 M6 | ||
| Hardware: | All | ||
| OS: | All | ||
| See Also: | https://bugs.eclipse.org/bugs/show_bug.cgi?id=424104 | ||
| Whiteboard: | |||
| Bug Depends on: | 313553, 324352, 412121 | ||
| Bug Blocks: | 362147 | ||
|
Description
Brian de Alwis
I guess the org.eclipse.rcp features are still in CVS? http://git.eclipse.org/c/platform/eclipse.platform.releng.maps.git/tree/org.eclipse.releng/maps/rcp.map Tom, I know the discussion has come up before about specifying a dependency on DS. I don't like the idea of importing an implementation package for this, but I can't remember if we came up with any other way to do this. (In reply to comment #1) > I guess the org.eclipse.rcp features are still in CVS? Yep, the map files don't lie! That one hasn't been migrated yet. (In reply to comment #2) > Tom, I know the discussion has come up before about specifying a dependency on > DS. I don't like the idea of importing an implementation package for this, but > I can't remember if we came up with any other way to do this. We could add a capability to the org.eclipse.equinox.ds that other bundles could depend on. The OSGi alliance is currently discussing standardizing a namespace that could be used for such a purpose, but we could invent our own in the mean time if we would like. I suspect it would look like this header in the org.eclipse.equinox.ds bundle: Provide-Capability: equinox.extender; equinox.extender="osgi.ds"; version:Version="1.1" This indicates that the equinox.ds bundle provides an extender implementation type of osgi.ds at specification version 1.1. A bundle which has a ds component description could specify the following Require-Capability: Require-Capability: equinox.extender; filter:="(&(equinox.extender=osgi.ds)(version>=1.1)" This indicates that the bundle requires an extender capability of type osgi.ds at specification version 1.1 or greater. But we need help from p2 to support these headers (see bug313553 and bug324352) otherwise you will still get errors at runtime, only difference is the bundles that require a ds implementation will no longer resolve because of a missing requirement. Brian, can you open a separate bug for the suggested feature refactoring so we can focus this one on the DS issue? (In reply to comment #5) > Brian, can you open a separate bug for the suggested feature refactoring so we > can focus this one on the DS issue? Filed as bug 362147. *** Bug 363565 has been marked as a duplicate of this bug. *** I should add that org.eclipse.equinox.event is another dependency that is not explicitly required. *** Bug 367083 has been marked as a duplicate of this bug. *** (In reply to comment #4) > We could add a capability to the org.eclipse.equinox.ds that other bundles > could depend on. The OSGi alliance is currently discussing standardizing a > namespace that could be used for such a purpose, but we could invent our own in > the mean time if we would like. I suspect it would look like this header in > the org.eclipse.equinox.ds bundle: To give an update on this. OSGi has defined a namespace (osgi.extender) that can be used by extenders to provide a capability which extendees can then depend on (i.e. declarative services). But we still need to wait for an update to the declarative services specification that defines what the osgi.extender namespace value will be for declarative services (osgi.ds or osgi.component or ...). But none of this helps unless others are willing to get bug313553 and bug324352 fixed in p2 to support the generic dependencies. Updated the title of this bug. *** Bug 378975 has been marked as a duplicate of this bug. *** Given that users are stumbling into problems (bug 378975), we're going to introduce explicit dependencies on org.eclipse.equinox.ds and .event as a temporary workaround (bug 379023), to be removed once the right approach is in place. *** Bug 378975 has been marked as a duplicate of this bug. *** I just noticed the bug dependency on the p2 bug about support for generic capabilities and I would like to understand what it is that you are trying to express that you can not do at this point. I think this one is closed org.eclipse.e4.rcp contains all required bundles except the EMF one, but these are listed as dependencies in org.eclipse.e4.rcp. Closing as fixed, please re-open if you disagree. |