[ http://jira.codehaus.org/browse/MDEP-123?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
William Ferguson updated MDEP-123: ---------------------------------- Attachment: pom.xml > dependency:tree to optionally display all instances of a transitive > dependency, not just the first one found > ------------------------------------------------------------------------------------------------------------ > > Key: MDEP-123 > URL: http://jira.codehaus.org/browse/MDEP-123 > Project: Maven 2.x Dependency Plugin > Issue Type: New Feature > Components: tree > Affects Versions: 2.0-alpha-5 > Reporter: William Ferguson > Assignee: Brian Fox > Attachments: pom.xml > > > dependency:tree is *really* useful for tracking down how a particular > transitive dependency has been introduced, but it only lists the first > occurrence, not all occurrences. So it can be frustrating game attempting to > remove a dep only to find it introduced by another component. A parameter to > dependency:tree to show all occurences of a transitive dep would be *really* > helpful. > Eg the attached POM has a direct dep on commons-beanutils and > commons-digester, which both have a dep on commons-logging. But executing > {code} > mvn org.apache.maven.plugins:maven-dependency-plugin:2.0-alpha-5-SNAPSHOT:tree > {code} > only shows commons-logging listed as a transitive dep for commons-beanutils, > not commons-digester, Ie > {code} > [INFO] [dependency:tree] > [INFO] > maven-dependency-plugin-tree-all-deps:maven-dependency-plugin-tree-all-deps:jar:0.0.1 > [INFO] +- commons-beanutils:commons-beanutils:jar:1.7.0:compile > [INFO] | \- commons-logging:commons-logging:jar:1.0.3:compile > [INFO] \- commons-digester:commons-digester:jar:1.7:compile > [INFO] +- commons-collections:commons-collections:jar:2.1:compile > [INFO] \- xml-apis:xml-apis:jar:1.0.b2:compile > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESSFUL > [INFO] > ------------------------------------------------------------------------ > {code} > but if an exclusion is added to commons-beanutils for for commons-logging, > then the other transitive dep instance is revealed. Ie > {code} > [INFO] [dependency:tree] > [INFO] > maven-dependency-plugin-tree-all-deps:maven-dependency-plugin-tree-all-deps:jar:0.0.1 > [INFO] +- commons-beanutils:commons-beanutils:jar:1.7.0:compile > [INFO] \- commons-digester:commons-digester:jar:1.7:compile > [INFO] +- commons-logging:commons-logging:jar:1.0:compile > [INFO] +- commons-collections:commons-collections:jar:2.1:compile > [INFO] \- xml-apis:xml-apis:jar:1.0.b2:compile > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESSFUL > [INFO] > ------------------------------------------------------------------------ > {code} > An option to show both instance would be fantastic, Eg > {code} > [INFO] [dependency:tree] > [INFO] > maven-dependency-plugin-tree-all-deps:maven-dependency-plugin-tree-all-deps:jar:0.0.1 > [INFO] +- commons-beanutils:commons-beanutils:jar:1.7.0:compile > [INFO] | \- commons-logging:commons-logging:jar:1.0.3:compile > [INFO] \- commons-digester:commons-digester:jar:1.7:compile > [INFO] +- commons-logging:commons-logging:jar:1.0:compile > [INFO] +- commons-collections:commons-collections:jar:2.1:compile > [INFO] \- xml-apis:xml-apis:jar:1.0.b2:compile > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESSFUL > [INFO] > ------------------------------------------------------------------------ > {code} -- 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