This is an automated email from the ASF dual-hosted git repository. cstamas pushed a commit to branch tmp-collect-listener in repository https://gitbox.apache.org/repos/asf/maven-resolver.git
commit 717ec73a8b3a81a587cd811935f13ec68b1e4903 Merge: 8ffa710c 570c65e6 Author: Tamas Cservenak <[email protected]> AuthorDate: Wed May 11 17:51:45 2022 +0200 Merge remote-tracking branch 'origin/master' into tmp-collect-listener .asf.yaml | 9 + .../impl/collect/bf/BfDependencyCollector.java | 10 +- ...=> DependencyCollectorDelegateTestSupport.java} | 152 ++--- .../impl/collect/bf/BfDependencyCollectorTest.java | 620 ++------------------- .../bf/BfDependencyCollectorUseSkipTest.java | 86 --- .../impl/collect/df/DfDependencyCollectorTest.java | 620 +-------------------- .../dependencies-empty/gid_a_ver.ini | 4 + .../dependencies-empty/gid_aa_ver.ini | 4 + .../dependencies-empty/gid_b_ver.ini | 2 + .../dependencies-empty/gid_c_ver.ini | 2 + .../dependencies-empty/gid_d_1.ini | 1 + .../dependencies-empty/gid_d_2.ini | 2 + .../dependencies-empty/gid_e_ver.ini | 2 + .../dependencies-empty/gid_f_ver.ini | 2 + .../dependencies-empty/gid_g_1.ini | 2 + .../dependencies-empty/gid_g_2.ini | 2 + .../dependencies-empty/gid_h_1.ini | 1 + .../dependencies-empty/gid_h_2.ini | 1 + ...tedSubtreeOnDescriptorDependenciesEmptyLeft.txt | 8 + ...edSubtreeOnDescriptorDependenciesEmptyRight.txt | 8 + 20 files changed, 190 insertions(+), 1348 deletions(-) diff --cc maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/bf/BfDependencyCollector.java index c934e033,4c41d40c..5119a652 --- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/bf/BfDependencyCollector.java +++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/bf/BfDependencyCollector.java @@@ -446,12 -446,19 +446,20 @@@ public class BfDependencyCollecto descriptorResult.getAliases(), repos, args.request.getRequestContext() ); context.getParent().getChildren().add( child ); + dependencyCollected( args.session, context.parents, d, descriptorRequest, descriptorResult ); boolean recurse = traverse && !descriptorResult.getDependencies().isEmpty(); + DependencyProcessingContext parentContext = context.withDependency( d ); if ( recurse ) { - doRecurse( args, context.withDependency( d ), descriptorResult, child ); + doRecurse( args, parentContext, descriptorResult, child ); + } + else if ( !args.skipper.skipResolution( child, parentContext.parents ) ) + { + List<DependencyNode> parents = new ArrayList<>( parentContext.parents.size() + 1 ); + parents.addAll( parentContext.parents ); + parents.add( child ); + args.skipper.cache( child, parents ); } } }
