You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Gabriel Belingueres (Jira)" <ji...@apache.org> on 2019/10/18 02:47:00 UTC

[jira] [Commented] (MNG-6786) Re-Add Dependency Tree Verbose

    [ https://issues.apache.org/jira/browse/MNG-6786?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16954215#comment-16954215 ] 

Gabriel Belingueres commented on MNG-6786:
------------------------------------------

Please note this is not a maven 3.6.2 distribution specific issue, rather it is related to the library used by the plugin to collect all dependencies, which for Maven 3.0.x involves using the Sonatype Aether library, and for Maven 3.1+ involves using Eclipse Aether library (now called Maven Resolver). Efforts are under way to provide a unique API abstracting out the specific Aether library used to resolve the dependency collection (see maven-artifact-transfer shared lib).

In addition, please see https://issues.apache.org/jira/browse/MSHARED-801 for a proposed implementation (under review) which might be used as base for the verbose functionality.

> Re-Add Dependency Tree Verbose
> ------------------------------
>
>                 Key: MNG-6786
>                 URL: https://issues.apache.org/jira/browse/MNG-6786
>             Project: Maven
>          Issue Type: Improvement
>          Components: Command Line, Dependencies, Plugin Requests
>    Affects Versions: 3.6.2
>            Reporter: Olof Larsson
>            Priority: Minor
>         Attachments: dependency-tree-verbose-colorized-screen.png
>
>
> Please re-add "*mvn dependency:tree -Dverbose*".
> *Ticket Bounty:* 300USD (will send via PayPal to address of authors choice upon feature re-addition with proper Maven 3 support)
> I find the command to be really useful and use it daily to check for transitive dependency clashes.
> It seems the command was removed in maven-dependency-plugin:2.11 because it used an outdated version of the dependency resolution mechanism?
> As a workaround I currently invoke the command like this:
>  *mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:tree -Dverbose*
> It's so useful I even added some colorization in bash:
>  
> {code:java}
> function mdt() {
>     mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:tree -Dverbose $@ \
>         | GREP_COLOR='01;31' grep --color=always -E 'omitted for conflict with|$' \
>         | GREP_COLOR='01;31' grep --color=always -E 'version managed from|$' \
>         | GREP_COLOR='01;32' grep --color=always -E 'omitted for duplicate|$' \
>         | GREP_COLOR='01;35' grep --color=always -E ':test|$'
> }
> {code}
> !dependency-tree-verbose-colorized-screen.png|width=588,height=602!
> I execute this command every time I wonder if I messed up any transitive dependencies. It's a really good and quick sanity check command, and I think there's a strong user case for it.
> Sadly the workaround I use is an incorrect one. It will lie. The proper solution is probably to readd the feature with the new Aether resolution mechanism (Maven 3)?
> Examples of other people asking for the same thing:
>  * [http://maven.40175.n5.nabble.com/Not-a-chance-to-show-conflicts-in-dependency-tree-td5944874.html]
>  * [https://stackoverflow.com/questions/46416236/mvn-dependencytree-is-there-an-equivalent-available-for-verbose-output]
>  Related Maven Links:
>  * https://issues.apache.org/jira/browse/MDEP-374
>  * https://issues.apache.org/jira/browse/MSHARED-339
>  * https://issues.apache.org/jira/browse/MSHARED-167
>  * [https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+Compatibility+Notes#Maven3.xCompatibilityNotes-DependencyResolution]
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)