[
http://jira.codehaus.org/browse/MNG-3696?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Brett Porter closed MNG-3696.
-----------------------------
Assignee: Brett Porter
Resolution: Duplicate
I think the issue you're referring to there is "global dependency exclusions",
so I've linked this issue to that.
> Add explicit transitive dependencies in dependencyManagement section of
> pom.xml
> -------------------------------------------------------------------------------
>
> Key: MNG-3696
> URL: http://jira.codehaus.org/browse/MNG-3696
> Project: Maven 2
> Issue Type: New Feature
> Components: Dependencies
> Affects Versions: 2.0.9
> Reporter: Joel Turkel
> Assignee: Brett Porter
>
> Transitive dependencies cause lots of headaches and require a fair amount of
> manual intervention to fix conflicts. It is common to see a pom with the
> following scenario:
> <dependencyManagement>
> <dependencies>
> <!-- Must manually include com.other.common when using
> com.sample.foo -->
> <dependency>
> <groupId>com.sample</groupId>
> <artifactId>foo</artifactId>
> <version>1</version>
> <exclusions>
> <!-- com.sample.foo includes old version 1 of
> com.other.common -->
> <exclusion>
> <groupId>com.other</groupId>
> <artifactId>common</artifactId>
> </exclusion>
> </exclusions>
> </dependency>
> <dependency>
> <groupId>com.other</groupId>
> <artifactId>common</artifactId>
> <version>2</version>
> </dependency>
> <dependency>
> <groupId>com.sample</groupId>
> <artifactId>bar</artifactId>
> <version>3</version>
> <!-- com.sample.foo includes version 2 of
> com.other.common -->
> </dependency>
> </dependencies>
> </dependencyManagement>
> This is problematic because descendant poms must manually include the
> com.other.common dependency when including the com.sample.foo dependency. The
> word around is creating separate pom projects to manage the dependencies, but
> this doesn't do a great job of expressing intent, leads to a proliferation of
> projects, and makes dependency management more difficult since it's scattered
> over multiple poms.
> Ideally users should be allowed to specify inclusions in the dependency
> management section of the pom e.g. something like:
> <dependencyManagement>
> <dependencies>
> <dependency>
> <groupId>com.sample</groupId>
> <artifactId>foo</artifactId>
> <version>1</version>
> <!-- com.sample.foo includes old version 1 of
> com.other.common -->
> <exclusions>
> <exclusion>
> <groupId>com.other</groupId>
> <artifactId>common</artifactId>
> </exclusion>
> </exclusions>
> <inclusions>
> <inclusion>
> <groupId>com.other</groupId>
> <artifactId>common</artifactId>
> <version>2</version>
> </inclusion>
> </inclusions>
> </dependency>
> <dependency>
> <groupId>com.sample</groupId>
> <artifactId>bar</artifactId>
> <version>3</version>
> <!-- com.sample.foo includes version 2 of
> com.other.common -->
> </dependency>
> </dependencies>
> </dependencyManagement>
>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira