[ https://issues.apache.org/jira/browse/MRESOLVER-614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17893298#comment-17893298 ]
ASF GitHub Bot commented on MRESOLVER-614: ------------------------------------------ cstamas commented on code in PR #595: URL: https://github.com/apache/maven-resolver/pull/595#discussion_r1818181850 ########## maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/AbstractDependencyManager.java: ########## @@ -229,37 +231,46 @@ public DependencyManagement manageDependency(Dependency dependency) { } } + // system scope paths always applied to have them aligned + // (same artifact > same path) in whole graph Review Comment: It cannot: model builder manages model inheritance ("vertical"). It has no idea about "parent" and "child" in graph ("horizontal") direction > Collector applies depMgt entries coming from a self onto itself > --------------------------------------------------------------- > > Key: MRESOLVER-614 > URL: https://issues.apache.org/jira/browse/MRESOLVER-614 > Project: Maven Resolver > Issue Type: Bug > Components: Resolver > Affects Versions: 2.0.2 > Reporter: Tamas Cservenak > Assignee: Tamas Cservenak > Priority: Major > Fix For: 2.0.3 > > > In Maven3 this was not a problem, as Maven3 could add depMgt only on "root > level". > In Maven4 with use of new/old transitive Dependency Managers this became a > problem. The dependency manager first receives depMgt entries for currently > processed node, and then applies it onto same entry, overriding direct > dependency versions. > Example with Maven beta-5: it cannot build Resolver master > (88a96ac0606d4d2372452a677d9f93c0b55105a4) as bnd-maven-plugin do depend on > plexus-utils via path of {{bnd-maven-plugin > build-api > plexus-utils}} as > it explodes due lack of org.plexus.utils.Scanner on classpath. This class was > introduced in plexus-utils 1.5.8, and build-api do depend on it. But alas, > build-api parent contains depMgt entry for plexus-utils 1.5.5 and is applied > onto build-api overriding it's own dependency version. > Basically current resolver code is NOT prepared for any "transitive > dependency management" (despite DependencyManagers are there) as node would > apply it's own depManagement rules onto itself. -- This message was sent by Atlassian Jira (v8.20.10#820010)