Gerrit Daniels created MNG-5980:
-----------------------------------

             Summary: DependencyGraphBuilder gives different results depending 
on the order of dependencies in the pom
                 Key: MNG-5980
                 URL: https://issues.apache.org/jira/browse/MNG-5980
             Project: Maven
          Issue Type: Bug
          Components: Dependencies, Plugin API
         Environment: Kubuntu 14.10
Java 8
Maven 3.0.5/3.3.9
maven-dependency-tree 2.1/3.0
            Reporter: Gerrit Daniels


I'm getting different results when using DependencyGraphBuilder in a plugin 
depending on the order in which the dependencies are defined in the pom of the 
project the plugin is running on. I have created some test projects to 
reproduce the bug.

- actual-dependency: This is the dependency that moves when changing the order 
in the pom.
- test-dependency: Depends on the actual-dependency with compile scope.
- compile-dependency: Also depends on the actual-dependency with compile scope.
- main-project: Depends on the test-dependency with test scope and on the 
compile-dependency with compile scope. Has the plugin configured.
- plugin: Builds the dependency graph.

When running maven with the -X switch on the main project with the 
test-dependency declared first in the pom I get the following dependency graph:
{code}
[DEBUG] com.qmino:main-project:jar:1.0-SNAPSHOT
[DEBUG]    com.qmino:test-dependency:jar:1.0-SNAPSHOT:test
[DEBUG]       com.qmino:*actual-dependency*:jar:1.0-SNAPSHOT:compile
[DEBUG]    com.qmino:compile-dependency:jar:1.0-SNAPSHOT:compile
{code}

When I change the order of the dependencies I get:
{code}
[DEBUG] com.qmino:main-project:jar:1.0-SNAPSHOT
[DEBUG]    com.qmino:compile-dependency:jar:1.0-SNAPSHOT:compile
[DEBUG]       com.qmino:*actual-dependency*:jar:1.0-SNAPSHOT:compile
[DEBUG]    com.qmino:test-dependency:jar:1.0-SNAPSHOT:test
{code}

It seems to me that the order of the dependencies shouldn't change the results. 
In both cases I would expect the second output, since the compile dependency 
should overrule the test dependency.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to