Hi all, Currently the Sling launcher (in the launchpad/base module) contains the Felix framework, the OSGi Core libraries as well as the OSGi Compendium libraries.
While working on the implementation of the new Declarative Services 1.1 features planned for addition in the OSGi Compendium Specification 4.2 I ran into a problem with this setup. Consider a bundle X importing the Declarative Services packages *before* the new implementation is installed. Both the system bundle (as per the launchpad/base module) and the Declarative Services implementation export version 1.0 of the org.osgi.service.component package. This results in all bundles wiring to the system bundle. Everything is fine. Now update the Declarative Services bundle which now exports version 1.1 of the org.osgi.service.component package. The Declarative Services bundle binds to its own export using the latest version available. Bundle X is still wired to the system bundle because there is no rewiring taking place. The consequence is, that the new Declarative Services bundle cannot call any of the activate or deactivate methods of the components in Bundle X because the ComponentContext argument is not compatible. As a fix, I suggest we modify the launchpad/base bundle to *not* provide the Compendium packages any more. Instead we will expect that either the Compendium implementation bundles export the packages (as for example the Apache Felix Declarative Services bundle does) or that the compendium packages are installed as a bundle. WDYT ? Regards Felix