History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: MDEP-97
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Kenney Westerhof
Votes: 0
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
Maven 2.x Dependency Plugin

dependency:tree not consistent with maven core's dependency tree

Created: 22/Dec/06 08:45 AM   Updated: 22/Jan/08 01:31 PM
Component/s: tree
Affects Version/s: 2.0-alpha-4
Fix Version/s: 2.0

Time Tracking:
Not Specified

Issue Links:
Related
 


 Description  « Hide
This plugin applies dependencyManagement to transitive dependencies (which is really what I want),
but maven itself does not.

For instance, mvn help:dependencies on sandbox/maven-plug-it-plugin lists:

[INFO] org.apache.maven.plugins:maven-plug-it-plugin:maven-plugin:1.0-SNAPSHOT
[INFO]    junit:junit:jar:3.8.1:test
[INFO]    org.apache.maven.shared:file-management:jar:1.1:compile
[INFO]       org.apache.maven.shared:maven-shared-io:jar:1.0:compile
[INFO]    org.apache.maven:maven-settings:jar:2.0:compile
[INFO]    org.apache.maven:maven-plugin-api:jar:2.0.4:compile
[INFO]    org.apache.maven.shared:maven-test-tools:jar:1.0-20061102.004837-1:test
[INFO]       easymock:easymock:jar:1.2_Java1.3:test
[INFO]    org.codehaus.plexus:plexus-velocity:jar:1.1.3:compile
[INFO]       org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9:compile
[INFO]       commons-collections:commons-collections:jar:2.0:compile
[INFO]       velocity:velocity:jar:1.4:compile
[INFO]          velocity:velocity-dep:jar:1.4:runtime
[INFO]    org.apache.maven.shared:maven-plugin-testing-tools:jar:1.0-alpha-2-20061221.044609-6:compile
[INFO]       org.apache.maven:maven-model:jar:2.0:compile
[INFO]       org.apache.maven.shared:maven-repository-builder:jar:1.0-alpha-1:compile
[INFO]          org.apache.maven:maven-artifact-manager:jar:2.0:compile
[INFO]          org.apache.maven:maven-project:jar:2.0:compile
[INFO]          org.apache.maven.shared:maven-common-artifact-filters:jar:1.0-alpha-1:compile
[INFO]             org.apache.maven:maven-artifact:jar:2.0:compile
[INFO]       org.apache.maven.shared:maven-invoker:jar:2.0.5:compile
[INFO]          org.codehaus.plexus:plexus-utils:jar:1.0.4:compile
[INFO]          org.apache.maven:maven-monitor:jar:2.0:compile

Adding 'dependencyManagement' for plexus-utils to force it to 1.1 (which doesn't work in m2 itself), it lists:

[INFO] org.apache.maven.plugins:maven-plug-it-plugin:maven-plugin:1.0-SNAPSHOT
[INFO]    junit:junit:jar:3.8.1:test
[INFO]    org.apache.maven.shared:file-management:jar:1.1:compile
[INFO]       org.codehaus.plexus:plexus-utils:jar:1.1:compile
[INFO]       org.apache.maven.shared:maven-shared-io:jar:1.0:compile
[INFO]    org.apache.maven:maven-settings:jar:2.0:compile
[INFO]    org.apache.maven:maven-plugin-api:jar:2.0.4:compile
[INFO]    org.apache.maven.shared:maven-test-tools:jar:1.0-20061102.004837-1:test
[INFO]       easymock:easymock:jar:1.2_Java1.3:test
[INFO]    org.codehaus.plexus:plexus-velocity:jar:1.1.3:compile
[INFO]       org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9:compile
[INFO]       commons-collections:commons-collections:jar:2.0:compile
[INFO]       velocity:velocity:jar:1.4:compile
[INFO]          velocity:velocity-dep:jar:1.4:runtime
[INFO]    org.apache.maven.shared:maven-plugin-testing-tools:jar:1.0-alpha-2-20061221.044609-6:compile
[INFO]       org.apache.maven:maven-model:jar:2.0:compile
[INFO]       org.apache.maven.shared:maven-repository-builder:jar:1.0-alpha-1:compile
[INFO]          org.apache.maven:maven-artifact-manager:jar:2.0:compile
[INFO]          org.apache.maven:maven-project:jar:2.0:compile
[INFO]          org.apache.maven.shared:maven-common-artifact-filters:jar:1.0-alpha-1:compile
[INFO]             org.apache.maven:maven-artifact:jar:2.0:compile
[INFO]       org.apache.maven.shared:maven-invoker:jar:2.0.5:compile
[INFO]          org.apache.maven:maven-monitor:jar:2.0:compile

Either we say this is the desired behavior (+1), or MNG-1577 should be fixed.
The problem here is that if MNG-1577 is going for the if-pom-version-is-this-then-do-that-otherwise-do-that,
this plugin should exhibit the same behaviour.
I'd like both maven core and this plugin to use the same dependency resolution code, or drop
the dependency-tree code and use maven's internal dependency graph (which doesn't exist yet).



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Brian Fox - 14/Jun/07 09:15 PM
I think the plugin should be showing what is actually getting resolved, which it appears based on above to be doing. Maven's tree itself is just dumping out the tree as the poms are parsed, noting things that are overriden as it goes. I'm not convinced they have to show exactly the same thing, it has different purposes. That said, I think most people are interested in what you're actually getting.

Mark Hobson - 15/Jun/07 05:51 AM
I've done a lot of local work on the dependency tree component since it was used in the help plugin, so hopefully this will resolve this issue. It did have it's own way of building the managed dependencies map, which I've now delegated to MavenProject as per the core. Everything else is resolved through the ArtifactCollector and so should mirror maven core as much as possible.

I'd suggest retrying this scenario when the newer dependency tree code is committed.


Brian Fox - 31/Dec/07 07:30 PM
Kenney: is this still an issue?