[ 
https://issues.apache.org/jira/browse/FELIX-3565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13435899#comment-13435899
 ] 

Tuomas Kiviaho commented on FELIX-3565:
---------------------------------------

I noticed that the example which used type bundle would not be working 
correctly due to http://jira.codehaus.org/browse/MSHARED-235
                
> Embed-Transitive leaks transitive dependencies of excluded artifacts
> --------------------------------------------------------------------
>
>                 Key: FELIX-3565
>                 URL: https://issues.apache.org/jira/browse/FELIX-3565
>             Project: Felix
>          Issue Type: Bug
>          Components: Maven Bundle Plugin
>    Affects Versions: maven-bundle-plugin-2.3.7
>            Reporter: Tuomas Kiviaho
>         Attachments: maven-bundle-plugin.patch
>
>
> I was trying to re-config some of my projects so that I get compile(+runtime) 
> scoped dependencies and their transitive dependencies embedded by using 
> Embed-Transitive=true with the exception of dependencies that I had with type 
> bundle. Exclusion of bundles turned out to be trickier than I though because 
> I can't use provided scope without sacrificing the respective transitive 
> dependencies in the process. Everything went ok until I noticed that 
> inclusion process with the transitive dependencies of already excluded 
> compile scoped dependencies that had type set to bundle as shown below where 
> I'm getting dep-2.2 embedded although it should be excluded. 
> myproject (*;scope=compile|bundle;type=!bundle)
> +dep-1;scope=compile;type=jar // included ok
>   +dep-1.1;scope=compile;type=jar // included ok
>   -dep-1.2;scope=compile;type=bundle // excluded ok and there are no 
> transitive dependency candidates available
>   -dep-1.3;scope=provided;type=bundle // excluded ok because scope is provided
>     -dep-1.3.1;scope=compile;type=jar  // excluded ok although scope is 
> compile because provided scope doesn't reveal any of the existing 
> dependencies as transitive dependencies
> -dep-2;scope=compile;type=bundle // excluded ok because type is bundle
>   -dep-2.1;scope=provided;type=jar // excluded ok because scope is provided
>   +dep-2.2;scope=compile;type=jar // NOT excluded ok because scope and type 
> no not match exclusion pattern
> In short: Everything not matching exclusion pattern (and matching inclusion 
> pattern) will be excluded no matter if their origin has been already excluded.
> I checked the codebase and noticed that the reason for having 'NOTE: test 
> scoped dependencies are not included in the classpath seen by BND.' on the 
> web page accumulated from the problem. It seems that dependency tree shared 
> component seems to have given problems before and that Aether isn't backwards 
> compatible but I suggest giving a try to maven-dependency-tree 2.0 that is 
> Aether based for Maven 3 but remains still backwards compatible with Maven 2.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to