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

Christian Schulte updated MNG-6058:
-----------------------------------
    Description: 
The following graph

{code}
POM
|->a 2.0 compile
|-->b 2.0 compile
|->b 1.0 test
{code}

will be mediated to

{code}
POM
|->a 2.0 compile
|->b 1.0 test
{code}

The test dependency on b will make the transitive application dependency on b 
disappear. Maven should understand that the application dependency on b in 
version 2.0 is part of the application classpath and that  the test dependency 
on b in version 1.0 is part of the test classpath only (overriding the 
application classpath). If someone adds a dependency on a project like that, 
the test dependency will disappear because the test scope is not transitive. So 
that a "consuming" project will see a different version of 'b' as

  was:
The following graph

{code}
POM
|->a 2.0 compile
|-->b 2.0 compile
|->b 1.0 test
{code}

will be mediated to

{code}
POM
|->a 2.0 compile
|->b 1.0 test
{code}

The test dependency on b will make the transitive application dependency on b 
disappear. Maven should understand that the application dependency on b in 
version 2.0 should be part of the application classpath and that  the 
dependency on b in version 1.0 will be part of the test classpath overriding 
the application classpath.


> Test dependencies should override application dependencies only during 
> testing.
> -------------------------------------------------------------------------------
>
>                 Key: MNG-6058
>                 URL: https://issues.apache.org/jira/browse/MNG-6058
>             Project: Maven
>          Issue Type: Bug
>            Reporter: Christian Schulte
>            Assignee: Christian Schulte
>         Attachments: MNG-6058.zip
>
>
> The following graph
> {code}
> POM
> |->a 2.0 compile
> |-->b 2.0 compile
> |->b 1.0 test
> {code}
> will be mediated to
> {code}
> POM
> |->a 2.0 compile
> |->b 1.0 test
> {code}
> The test dependency on b will make the transitive application dependency on b 
> disappear. Maven should understand that the application dependency on b in 
> version 2.0 is part of the application classpath and that  the test 
> dependency on b in version 1.0 is part of the test classpath only (overriding 
> the application classpath). If someone adds a dependency on a project like 
> that, the test dependency will disappear because the test scope is not 
> transitive. So that a "consuming" project will see a different version of 'b' 
> as



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to