You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Thomas Watson (JIRA)" <ji...@apache.org> on 2014/06/17 15:30:02 UTC

[jira] [Closed] (ARIES-1192) Need to update to maven-bundle-plugin 2.4.0

     [ https://issues.apache.org/jira/browse/ARIES-1192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas Watson closed ARIES-1192.
--------------------------------


Thanks!  I confirmed this fixes the issue with uses directive and slf4j in blueprint.

> 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
>            Assignee: Guillaume Nodet
>
> 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)