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

Daniel Puiu commented on MNG-7757:
----------------------------------

Same result with latest version of maven-dependency-plugin:

D is still reported as compile time dependency for A
{noformat}
$ mvn org.apache.maven.plugins:maven-dependency-plugin:3.5.0:tree
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] test-maven-dependency-tree-bug                                     [pom]
[INFO] test-maven-dependency-tree-bug-D                                   [jar]
[INFO] test-maven-dependency-tree-bug-C                                   [jar]
[INFO] test-maven-dependency-tree-bug-B                                   [jar]
[INFO] test-maven-dependency-tree-bug-A                                   [jar]
[INFO] 
[INFO] -------------< org.example:test-maven-dependency-tree-bug >-------------
[INFO] Building test-maven-dependency-tree-bug 1.0-SNAPSHOT               [1/5]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:3.5.0:tree (default-cli) @ 
test-maven-dependency-tree-bug ---
[INFO] org.example:test-maven-dependency-tree-bug:pom:1.0-SNAPSHOT
[INFO]
[INFO] ------------< org.example:test-maven-dependency-tree-bug-D >------------
[INFO] Building test-maven-dependency-tree-bug-D 1.0-SNAPSHOT             [2/5]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:3.5.0:tree (default-cli) @ 
test-maven-dependency-tree-bug-D ---
[INFO] org.example:test-maven-dependency-tree-bug-D:jar:1.0-SNAPSHOT
[INFO]
[INFO] ------------< org.example:test-maven-dependency-tree-bug-C >------------
[INFO] Building test-maven-dependency-tree-bug-C 1.0-SNAPSHOT             [3/5]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:3.5.0:tree (default-cli) @ 
test-maven-dependency-tree-bug-C ---
[INFO] org.example:test-maven-dependency-tree-bug-C:jar:1.0-SNAPSHOT
[INFO] \- org.example:test-maven-dependency-tree-bug-D:jar:1.0-SNAPSHOT:compile
[INFO]
[INFO] ------------< org.example:test-maven-dependency-tree-bug-B >------------
[INFO] Building test-maven-dependency-tree-bug-B 1.0-SNAPSHOT             [4/5]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:3.5.0:tree (default-cli) @ 
test-maven-dependency-tree-bug-B ---
[INFO] org.example:test-maven-dependency-tree-bug-B:jar:1.0-SNAPSHOT
[INFO] \- org.example:test-maven-dependency-tree-bug-C:jar:1.0-SNAPSHOT:compile
[INFO]    \- 
org.example:test-maven-dependency-tree-bug-D:jar:1.0-SNAPSHOT:provided
[INFO]
[INFO] ------------< org.example:test-maven-dependency-tree-bug-A >------------
[INFO] Building test-maven-dependency-tree-bug-A 1.0-SNAPSHOT             [5/5]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:3.5.0:tree (default-cli) @ 
test-maven-dependency-tree-bug-A ---
[INFO] org.example:test-maven-dependency-tree-bug-A:jar:1.0-SNAPSHOT
[INFO] \- org.example:test-maven-dependency-tree-bug-B:jar:1.0-SNAPSHOT:compile
[INFO]    \- 
org.example:test-maven-dependency-tree-bug-C:jar:1.0-SNAPSHOT:compile
[INFO]       \- 
org.example:test-maven-dependency-tree-bug-D:jar:1.0-SNAPSHOT:compile
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for test-maven-dependency-tree-bug 1.0-SNAPSHOT:
[INFO]
[INFO] test-maven-dependency-tree-bug ..................... SUCCESS [  1.421 s]
[INFO] test-maven-dependency-tree-bug-D ................... SUCCESS [  0.016 s]
[INFO] test-maven-dependency-tree-bug-C ................... SUCCESS [  0.035 s]
[INFO] test-maven-dependency-tree-bug-B ................... SUCCESS [  0.017 s]
[INFO] test-maven-dependency-tree-bug-A ................... SUCCESS [  0.024 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.821 s
[INFO] Finished at: 2023-04-08T14:40:43+03:00
[INFO] ------------------------------------------------------------------------
{noformat}

> Resolved dependencies are not taking into account dependency management
> -----------------------------------------------------------------------
>
>                 Key: MNG-7757
>                 URL: https://issues.apache.org/jira/browse/MNG-7757
>             Project: Maven
>          Issue Type: Bug
>         Environment: Windows 10, Java 17.0.2, Maven 3.8.5
>            Reporter: Daniel Puiu
>            Priority: Major
>             Fix For: waiting-for-feedback
>
>         Attachments: test-maven-dependency-tree-bug.7z
>
>
> I have the following case:
>  * Project C depends on project D (compile scope).
>  * Project B depends on project C (compile scope) and declares project D in 
> dependency management as provided.
>  * Project A depends on project B (compile scope).
> Running dependency:tree on A outputs:
> {noformat}
> [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ 
> test-maven-dependency-tree-bug-A ---
> [INFO] org.example:test-maven-dependency-tree-bug-A:jar:1.0-SNAPSHOT
> [INFO] \- 
> org.example:test-maven-dependency-tree-bug-B:jar:1.0-SNAPSHOT:compile
> [INFO]    \- 
> org.example:test-maven-dependency-tree-bug-C:jar:1.0-SNAPSHOT:compile
> [INFO]       \- 
> org.example:test-maven-dependency-tree-bug-D:jar:1.0-SNAPSHOT:compile{noformat}
> Also, building a fat jar with maven-assembly-plugin adds the content of D to 
> the jar.
>  
> Both plugins use org.apache.maven.DefaultProjectDependencyGraph (which is 
> marked as internal and deprecated) to resolve the dependency tree. This is 
> actually the reason for which I am opening the ticket on maven's side and not 
> on maven-dependency-plugin and maven-assembly-plugin sides.
>  
> From the 
> [documentation|https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html],
>  my understanding is that D should appear as provided in the dependency tree 
> and not be part of the fat jar created by assembly plugin.
>  
> I have tested both plugins mainly with maven 3.8.5, but have obtained the 
> same results with 4.0.0-alpha5, 3.6.3 and 3.0.5
> I have attached a multi module project on which I tested the case.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to