Repository: maven-resolver
Updated Branches:
  refs/heads/master 5907bd446 -> e391a27ab


[MRESOLVER-8] Direct dependencies incorrectly detected as transitive.

o For the impatient: Look at those 'deriveChildXyz' methods how they
  never decrease the depth value and always increase that value by one
  although during recursion depth needs to be decreased. All those
  components, once switched to 'transitive' mode, never will get
  switched back to 'direct' mode.


Project: http://git-wip-us.apache.org/repos/asf/maven-resolver/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-resolver/commit/e391a27a
Tree: http://git-wip-us.apache.org/repos/asf/maven-resolver/tree/e391a27a
Diff: http://git-wip-us.apache.org/repos/asf/maven-resolver/diff/e391a27a

Branch: refs/heads/master
Commit: e391a27ab3609fc63a625bbe3a25401af6ec02ef
Parents: 5907bd4
Author: Christian Schulte <[email protected]>
Authored: Mon Nov 14 01:37:36 2016 +0100
Committer: Christian Schulte <[email protected]>
Committed: Mon Nov 14 01:40:15 2016 +0100

----------------------------------------------------------------------
 .../aether/internal/impl/DefaultDependencyCollector.java  | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/e391a27a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultDependencyCollector.java
----------------------------------------------------------------------
diff --git 
a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultDependencyCollector.java
 
b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultDependencyCollector.java
index 4357f9c..e38cf63 100644
--- 
a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultDependencyCollector.java
+++ 
b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/DefaultDependencyCollector.java
@@ -476,8 +476,10 @@ public class DefaultDependencyCollector
                             DependencyTraverser depTraverser, VersionFilter 
verFilter, Dependency d,
                             ArtifactDescriptorResult descriptorResult, 
DefaultDependencyNode child )
     {
-        DefaultDependencyCollectionContext context = 
args.collectionContext.clone();
-        context.set( d, descriptorResult.getManagedDependencies() );
+        final DefaultDependencyCollectionContext savedContext = 
args.collectionContext;
+        args.collectionContext = args.collectionContext.clone();
+        args.collectionContext.set( d, 
descriptorResult.getManagedDependencies() );
+        DefaultDependencyCollectionContext context = args.collectionContext;
 
         DependencySelector childSelector = depSelector != null ? 
depSelector.deriveChildSelector( context ) : null;
         DependencyManager childManager = depManager != null ? 
depManager.deriveChildManager( context ) : null;
@@ -508,6 +510,8 @@ public class DefaultDependencyCollector
         {
             child.setChildren( children );
         }
+
+        args.collectionContext = savedContext;
     }
 
     private ArtifactDescriptorResult getArtifactDescriptorResult( Args args, 
Results results, boolean noDescriptor,
@@ -696,7 +700,7 @@ public class DefaultDependencyCollector
 
         final NodeStack nodes;
 
-        final DefaultDependencyCollectionContext collectionContext;
+        DefaultDependencyCollectionContext collectionContext;
 
         final DefaultVersionFilterContext versionContext;
 

Reply via email to