Thomas Watson created ARIES-1192:
------------------------------------
Summary: Need to update to maven-bundle-plugin 2.4.0
Key: ARIES-1192
URL: https://issues.apache.org/jira/browse/ARIES-1192
Project: Aries
Issue Type: Bug
Components: Blueprint
Environment: All
Reporter: Thomas Watson
I'm opening this against blueprint because that is where I noticed an issue
with the uses directives generated by the maven-bundle-plugin (version 2.3.4).
But the maven-bundle-plugin should be updated for all of Aries in my opinion.
The built blueprint bundle has the following Export-Package statements
org.apache.aries.blueprint.ext;
version="1.1.0";
uses:="
org.slf4j,
org.osgi.service.blueprint.reflect,
org.osgi.framework,
org.apache.aries.blueprint,
org.apache.aries.blueprint.mutable,
org.osgi.service.blueprint.container,
org.apache.aries.blueprint.services,
org.apache.aries.blueprint.ext.evaluator"
AND
org.apache.aries.blueprint.utils;
version="1.1.0";
uses:="
org.osgi.framework,
org.apache.aries.blueprint.services,
org.osgi.service.blueprint.container,
org.slf4j"
Notice that the uses directive includes org.slf4j. This is wrong. The use of
that package is an internal implementation detail each of these packages. It
should not be included. The inclusion of slf4j package here prohibits other
bundles from importing these two blueprint packages if the importing bundles
are using a different version of slf4j.
The extra slf4j package is getting added because the bnd version used by the
maven-bundle-plugin (version 2.3.4) is bnd version 1.15. That is a VERY old
version of BND. Newer bnd versions no longer add uses directives for packages
that are only internal implementation details of the exported package. I
tested out building blueprint with maven-bundle-plugin 2.4.0 and it solves this
issue (it uses bnd version 2.1)
--
This message was sent by Atlassian JIRA
(v6.2#6252)