yes, the behaviour is known - probably not from many people, but I do know it 
was a consequence of maven-dependency-tree-2.0 MSHARED-167

I wouldn't say "intentional", but that's a consequence of using Aether in 
Maven 3 instead of tracking internal Maven 2 dependency resolution events.

Maven 3/Aether has totally changed the dependency resolution algorithm, and 
such resolution info is not available to Maven core any more. When Benjamin 
worked on Aether, he gabve some info on this topic, with the global algorithm 
change that would not give such info even with Aether, but I didn't really 
understand nor investigated at that time.

Notice that I'm sure that it has to do with "conflict resolution" needed for 
MNG-3092, so I should work on it and learn what I still didn't understand for 
the moment. I hope that when I understand the conflict resolution algorithm and 
code, I'll be able to find a way to track this info and report it to m-
dependency-p.

I'm open to any help on this topic, since I know it won't be easy :)

Regards,

Hervé

Le jeudi 8 novembre 2012 19:07:19 Karl Heinz Marbaise a écrit :
> Hi,
> 
> i've played around with the maven-dependency-plugin to see which
> artifacts are in my project via:
> 
> mvn dependency:tree -Dverbose=true
> 
> which results into the following output:
> 
> .....
> [INFO]
> [INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @
> first-project ---
> [INFO] com.soebes.training.test:first-project:jar:1.0-SNAPSHOT
> [INFO] +- junit:junit:jar:4.8:compile
> [INFO] \- org.testng:testng:jar:6.5.2:compile
> [INFO]    +- (junit:junit:jar:4.10:compile - omitted for conflict with 4.8)
> [INFO]    +- org.beanshell:bsh:jar:2.0b4:compile
> [INFO]    +- com.beust:jcommander:jar:1.12:compile
> [INFO]    \- org.yaml:snakeyaml:jar:1.6:compile
> [INFO]
> 
> The output above says that the transitive dependency of testng
> junit:junit:jar:4.10 has not made the way into my project, cause i
> defined an other version (4.8).
> 
> Ok. Now i checked to use the newest version maven-dependency-plugin via
> the following call:
> 
> mvn org.apache.maven.plugins:maven-dependency-plugin:2.5.1:tree
> -Dverbose=true
> 
> which produces the following output:
> 
> ....
> [INFO] --- maven-dependency-plugin:2.5.1:tree (default-cli) @
> first-project ---
> [INFO] com.soebes.training.test:first-project:jar:1.0-SNAPSHOT
> [INFO] +- junit:junit:jar:4.8:compile
> [INFO] \- org.testng:testng:jar:6.5.2:compile
> [INFO]    +- org.beanshell:bsh:jar:2.0b4:compile
> [INFO]    +- com.beust:jcommander:jar:1.12:compile
> [INFO]    \- org.yaml:snakeyaml:jar:1.6:compile
> [INFO]
> 
> which prints out information, but NOT the information about the clash of
> the version as in the older version of the
> maven-dependency-plugin....and in my opinion wrong output, cause missing
> the transitive dependency of testng.
> 
> After rereading the docs of the dependency-plugin i found that the
> option -Dverbose=true is deprecated and tested it without but this
> doesn't change anything.
> 
> 
> So the question is: Is this behaviour known and intentionally ?
> 
> Kind regards
> Karl-Heinz Marbaise

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to