maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Benedict (JIRA)" <j...@codehaus.org>
Subject [jira] (MNG-4724) Plugin runtime classpath during execution differs from runtime classpath during building when conflicts with test/provided scope dependencies are involved
Date Wed, 02 Jul 2014 13:44:39 GMT

     [ https://jira.codehaus.org/browse/MNG-4724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Paul Benedict updated MNG-4724:
-------------------------------

    Fix Version/s:     (was: Issues to be reviewed for 3.x)

> Plugin runtime classpath during execution differs from runtime classpath during building
when conflicts with test/provided scope dependencies are involved
> ----------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-4724
>                 URL: https://jira.codehaus.org/browse/MNG-4724
>             Project: Maven
>          Issue Type: Bug
>          Components: Artifacts and Repositories, Dependencies, Plugins and Lifecycle
>    Affects Versions: 2.2.1, 3.0-beta-1
>            Reporter: Benjamin Bentmann
>            Priority: Minor
>         Attachments: mng-4724.zip
>
>
> Consider this unresolved dependency tree:
> {noformat}
> plugin
> +- b:0.1:test
> |  \- a:0.2:compile
> \- c:0.1:compile
>    +- a:0.1:compile
>    \- b:0.1:compile
>       \- a:0.2:compile
> {noformat}
> which resolves to
> {noformat}
> [INFO] [dependency:tree {execution: default-cli}]
> [INFO] org.apache.maven.its.mng4724:maven-mng4724-plugin:maven-plugin:0.1
> [INFO] +- org.apache.maven.its.mng4724:b:jar:0.1:test (scope not updated to compile)
> [INFO] \- org.apache.maven.its.mng4724:c:jar:0.1:compile
> [INFO]    \- org.apache.maven.its.mng4724:a:jar:0.2:compile
> {noformat}
> i.e. while building the plugin, the runtime class path consists of {{c-0.1.jar}} and
{{a-0.2.jar}}.
> In contrast, when executing the plugin, the resolved tree looks like
> {noformat}
> [INFO] org.apache.maven.its.mng4724:maven-mng4724-plugin:maven-plugin:0.1
> [INFO] \- org.apache.maven.its.mng4724:c:jar:0.1:compile
> [INFO]    +- org.apache.maven.its.mng4724:a:jar:0.1:compile
> [INFO]    \- org.apache.maven.its.mng4724:b:jar:0.1:compile
> {noformat}
> i.e. {{b-0.1.jar}} is now included and instead of {{a-0.2.jar}} we get {{a-0.1.jar}}.
> The cause is that in the latter case the test-scope dependency on b (and its dependency
sub tree) wasn't considered at all during resolution, which hides a conflict from the process
and yields a different result.
> Besides the plugin class realm, this generally affects the consumption of one project
by another.
> IT attached, though given the apparently minor relevance for practical use and the performance
loss the fix would cause, not sure we actually want to fix this...



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Mime
View raw message