You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Thorsten Glaser (Jira)" <ji...@apache.org> on 2022/02/20 20:12:00 UTC
[jira] [Commented] (MNG-6058) Test dependencies should override application dependencies only during testing
[ https://issues.apache.org/jira/browse/MNG-6058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17495231#comment-17495231 ]
Thorsten Glaser commented on MNG-6058:
--------------------------------------
Referenced in https://issues.apache.org/jira/browse/MDEP-791
But if so, we’re going to have a way to override a dependency multiple times, for different scopes.
> 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
> Priority: Major
> 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 gets a different application classpath than the project itself.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)