[
https://jira.codehaus.org/browse/MNG-5540?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=336544#comment-336544
]
Robert Scholte commented on MNG-5540:
-------------------------------------
@[~krosenvold], you could have claimed the credits, now you're too late :)
The problem I'm referring to happens when you add a test-scoped dependency and
suddenly the *_main_* sources can't compile anymore.
The reason: the dependency was a transitive compile-scoped dependency. If you
need to keep the original version during compile-time, but a newer version
during testing, then Maven can't help you yet. Maven allowes only one scope per
dependency.
The discussion about dependencies and its management is probably something
which needs to be discussed with the Aether-team. As mentioned in other
mailing-threads: Maven is not the only tool reading the {{pom.xml}}. Changing
the behavior of the current markup or adding tags will have a huge impact,
since you want to keep the same behavior for all tools.
> Simplyfied form of overridden scope on transitive dependencies
> --------------------------------------------------------------
>
> Key: MNG-5540
> URL: https://jira.codehaus.org/browse/MNG-5540
> Project: Maven 2 & 3
> Issue Type: New Feature
> Components: Dependencies
> Affects Versions: 3.1.1
> Reporter: Tibor Digana
> Priority: Critical
>
> I am thinking of a new feature since Maven's exclusion are two steps process
> in practice.
> In order to change the scope from compile to provided on transitive
> dependency you exclude dependency via
> {code:xml}
> <dependencies>
> <dependency>
> ...
> <exludes>
> <exclude>
> ... transitive dependency ...
> </exclude>
> </exludes>
> </dependency>
> </dependencies>
> {code}
> Then put such transitive {{</dependency>}} with {{scope=provided}} which was
> excluded above.
> {code:xml}
> <dependencies>
> <dependency>
> ...
> <scope>provided</scope>
> </dependency>
> </dependencies>
> {code}
> This is waste because you have to touch the exc.dependency twice and the POM
> xml is getting huge.
> Maybe another syntax would simplify:
> {code:xml}
> <dependencies>
> <dependency>
> ...
> <includes/>
> <include/>
> ... transitive dependency ...
> <scope>provided</scope>
> <include/>
> <includes/>
> </dependency>
> </dependencies>
> {code}
> Validation should fail if no such transitive dependency in includes section
> is specified for the wrapping dependency.
> If the transitive dependency is specified in other sections or inherited, the
> scopes should be merged.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira