Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Not A Bug
-
None
-
None
-
None
-
Kubuntu 14.10
Java 8
Maven 3.0.5/3.3.9
maven-dependency-tree 2.1/3.0
Description
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:
[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
When I change the order of the dependencies I get:
[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
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 scope should overrule the test scope.
Attachments
Attachments
Issue Links
- depends upon
-
MASSEMBLY-809 Assembly plugin requires precise dependency order when classifier is used
- Closed
- is part of
-
MNG-7852 Use all the versions for dependency resolution rather than "nearest first" or "declared first"
- Open
- is related to
-
MNG-3890 Transitive dependencies override explicitly set scope.
- Closed