Aries Subsystems does not pay attention to either the Import-Service or Export-Service bundle manifest headers. They are not used to compute the service requirements or capabilities of bundles or subsystems. However, if the ModelledResourceManager service is present, service requirements and capabilities are computed using Blueprint. This is where your requirements are coming from. The fact that the maven bundle plugin generates Import-Service headers is incidental.
I can't explain why adding the Export-Service header works other than simply stating that something outside of subsystems must be making it available as a service capability. For Aries Subsystems, a matching capability would typically be provided by Blueprint. John > > Import-Service and subsystems > > Hi, > > I have trouble with Import-Service manifest headers in bundles that > are contained in a subsystem. If there is an Export-Service manifest > header (in the subsystem or outside) everything is fine, however if > there is no such header, installation of the subsystem fails because > the dependency cannot be resolved. > > Is this intentional? The OSGi 5.0 core spec says about these headers > that they are deprecated and for informational purposes only, but > the maven bundle plugin generates them for exposed blueprint > services. The resolver and subsystem specifications don’t say > anything about this, so I am not really sure where to fix it (in the > resolver or in the Subsystem implementation (if I had to guess, it > might be somewhere with the SubsystemResource class). > > Best regards > Stephan
