Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
subsystem-2.0.2
-
None
-
Patch
Description
I added a patch (require-capability-service.patch) that contains a test case to test the behavior with require-capability and provide-capability and it is failing. Maybe the test case is wrong, can someone check it?
The test case has a feature with a bundle 1 and an embedded application with a bundle 2.
Bundle 1 provides a service capability
Bundle 2 requires a service capability
I would expect all to be installed correctly but the install fails because of the require-capability for the service not resolving.
missing requirement org.apache.aries.subsystem.core.archive.RequireCapabilityRequirement: namespace=osgi.service, attributes={}, directives=
{filter=(objectClass=com.emagiz.osgi.environment.PropertiesSource), effective=active, resolution=mandatory}------------------------------------------
Try not using typed parameters in Provide-Capability and see what happens. I think there may be a parsing issue in that header.
In other words, try removing ":List" from "osgi.service;objectClass:List=\"com.emagiz.osgi.environment.PropertiesSource\";effective:=\"active\"".
--------------------------------------------
Got it working by not using the ":List<String>" but kept the test case because it should work. Tested with type "String" and that works.
Added another patch 'require-capability-service-2.patch' that contains three test cases.
1) For a provide on root level
2) For a provide on feature level
3) For a provide with a List<String>
All test cases have three levels: root/feature/application and the application has a bundle with require.
Attachments
Attachments
Issue Links
- blocks
-
ARIES-1377 Subsystems 2.0.4 Release
- Closed