felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tuomas Kiviaho (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (FELIX-3565) Embed-Transitive leaks transitive dependencies of excluded artifacts
Date Thu, 16 Aug 2012 11:17:38 GMT

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

Tuomas Kiviaho updated FELIX-3565:
----------------------------------

    Attachment:     (was: maven-bundle-plugin.patch)
    
> 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

        

Mime
View raw message