This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch MSHARED-788
in repository https://gitbox.apache.org/repos/asf/maven-dependency-tree.git

commit 7f663c54bbfbb3bb014a517ead3e5b550dc48b5f
Author: Gabriel Belingueres <belingue...@gmail.com>
AuthorDate: Thu Dec 27 00:02:51 2018 -0300

    Fixed to also return dependencies with scope "provided".
---
 .../Maven31DependencyCollectorBuilder.java         | 33 +++++++++++-----------
 .../internal/Maven3DependencyCollectorBuilder.java | 12 ++++++--
 2 files changed, 26 insertions(+), 19 deletions(-)

diff --git 
a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyCollectorBuilder.java
 
b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyCollectorBuilder.java
index f4fd955..7152ab7 100644
--- 
a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyCollectorBuilder.java
+++ 
b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyCollectorBuilder.java
@@ -55,7 +55,6 @@ import 
org.eclipse.aether.util.graph.transformer.JavaScopeDeriver;
 import org.eclipse.aether.util.graph.transformer.JavaScopeSelector;
 import org.eclipse.aether.util.graph.transformer.NearestVersionSelector;
 import org.eclipse.aether.util.graph.transformer.SimpleOptionalitySelector;
-import org.eclipse.aether.util.graph.visitor.CloningDependencyVisitor;
 import org.eclipse.aether.util.graph.visitor.TreeDependencyVisitor;
 import org.eclipse.aether.version.VersionConstraint;
 
@@ -75,30 +74,35 @@ public class Maven31DependencyCollectorBuilder
 
     @Override
     public DependencyNode collectDependencyGraph( ArtifactRepository 
localRepository,
-                                                ProjectBuildingRequest 
buildingRequest, ArtifactFilter filter )
+                                                  ProjectBuildingRequest 
buildingRequest, ArtifactFilter filter )
         throws DependencyGraphBuilderException
     {
         DefaultRepositorySystemSession session = null;
         try
         {
             MavenProject project = buildingRequest.getProject();
+
             Artifact projectArtifact = project.getArtifact();
             List<ArtifactRepository> remoteArtifactRepositories = 
project.getRemoteArtifactRepositories();
 
             DefaultRepositorySystemSession repositorySession =
                 (DefaultRepositorySystemSession) Invoker.invoke( 
buildingRequest, "getRepositorySession" );
-            
+
             session = new DefaultRepositorySystemSession( repositorySession );
 
             DependencyGraphTransformer transformer =
                 new ConflictResolver( new NearestVersionSelector(), new 
JavaScopeSelector(),
                                       new SimpleOptionalitySelector(), new 
JavaScopeDeriver() );
-
             session.setDependencyGraphTransformer( transformer );
 
+            DependencySelector depFilter =
+                new AndDependencySelector( new ScopeDependencySelector(), new 
OptionalDependencySelector(),
+                                           new ExclusionDependencySelector() );
+            session.setDependencySelector( depFilter );
+
             session.setConfigProperty( ConflictResolver.CONFIG_PROP_VERBOSE, 
true );
             session.setConfigProperty( 
DependencyManagerUtils.CONFIG_PROP_VERBOSE, true );
-            
+
             org.eclipse.aether.artifact.Artifact aetherArtifact =
                 (org.eclipse.aether.artifact.Artifact) Invoker.invoke( 
RepositoryUtils.class, "toArtifact",
                                                                        
Artifact.class, projectArtifact );
@@ -113,11 +117,6 @@ public class Maven31DependencyCollectorBuilder
             collectRequest.setRoot( new org.eclipse.aether.graph.Dependency( 
aetherArtifact, "" ) );
             collectRequest.setRepositories( aetherRepos );
 
-            DependencySelector depFilter =
-                new AndDependencySelector( new ScopeDependencySelector( 
"provided" ), new OptionalDependencySelector(),
-                                           new ExclusionDependencySelector() );
-            session.setDependencySelector( depFilter );
-            
             org.eclipse.aether.artifact.ArtifactTypeRegistry stereotypes = 
session.getArtifactTypeRegistry();
             collectDependencyList( collectRequest, project, stereotypes );
             collectManagedDependencyList( collectRequest, project, stereotypes 
);
@@ -126,11 +125,11 @@ public class Maven31DependencyCollectorBuilder
 
             org.eclipse.aether.graph.DependencyNode rootNode = 
collectResult.getRoot();
 
-            CloningDependencyVisitor cloner = new CloningDependencyVisitor();
-            TreeDependencyVisitor treeVisitor = new TreeDependencyVisitor( 
cloner );
-            rootNode.accept( treeVisitor );
-
-            rootNode = cloner.getRootNode();
+//            CloningDependencyVisitor cloner = new CloningDependencyVisitor();
+//            TreeDependencyVisitor treeVisitor = new TreeDependencyVisitor( 
cloner );
+//            rootNode.accept( treeVisitor );
+//
+//            rootNode = cloner.getRootNode();
 
             if ( getLogger().isDebugEnabled() )
             {
@@ -192,7 +191,7 @@ public class Maven31DependencyCollectorBuilder
     }
 
     private void collectDependencyList( CollectRequest collectRequest, 
MavenProject project,
-                                         
org.eclipse.aether.artifact.ArtifactTypeRegistry stereotypes )
+                                        
org.eclipse.aether.artifact.ArtifactTypeRegistry stereotypes )
         throws DependencyGraphBuilderException
     {
         for ( Dependency dependency : project.getDependencies() )
@@ -242,7 +241,7 @@ public class Maven31DependencyCollectorBuilder
     {
         String premanagedVersion = 
DependencyManagerUtils.getPremanagedVersion( node );
         String premanagedScope = DependencyManagerUtils.getPremanagedScope( 
node );
-        
+
         Boolean optional = null;
         if ( node.getDependency() != null )
         {
diff --git 
a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyCollectorBuilder.java
 
b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyCollectorBuilder.java
index d6b6d49..d88b884 100644
--- 
a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyCollectorBuilder.java
+++ 
b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyCollectorBuilder.java
@@ -42,6 +42,7 @@ import org.sonatype.aether.artifact.ArtifactTypeRegistry;
 import org.sonatype.aether.collection.CollectRequest;
 import org.sonatype.aether.collection.CollectResult;
 import org.sonatype.aether.collection.DependencyCollectionException;
+import org.sonatype.aether.collection.DependencyGraphTransformer;
 import org.sonatype.aether.collection.DependencySelector;
 import org.sonatype.aether.graph.DependencyVisitor;
 import org.sonatype.aether.util.DefaultRepositorySystemSession;
@@ -51,6 +52,10 @@ import 
org.sonatype.aether.util.graph.selector.AndDependencySelector;
 import org.sonatype.aether.util.graph.selector.ExclusionDependencySelector;
 import org.sonatype.aether.util.graph.selector.OptionalDependencySelector;
 import org.sonatype.aether.util.graph.selector.ScopeDependencySelector;
+import 
org.sonatype.aether.util.graph.transformer.ChainedDependencyGraphTransformer;
+import org.sonatype.aether.util.graph.transformer.ConflictMarker;
+import org.sonatype.aether.util.graph.transformer.JavaDependencyContextRefiner;
+import org.sonatype.aether.util.graph.transformer.JavaEffectiveScopeCalculator;
 import org.sonatype.aether.version.VersionConstraint;
 
 /**
@@ -87,10 +92,13 @@ public class Maven3DependencyCollectorBuilder
 
             DefaultRepositorySystemSession session = new 
DefaultRepositorySystemSession( repositorySystemSession );
 
-            session.setDependencyGraphTransformer( null );
+            DependencyGraphTransformer transformer =
+                new ChainedDependencyGraphTransformer( new ConflictMarker(), 
new JavaEffectiveScopeCalculator(),
+                                                       new 
JavaDependencyContextRefiner() );
+            session.setDependencyGraphTransformer( transformer );
 
             DependencySelector depFilter =
-                new AndDependencySelector( new ScopeDependencySelector( 
"provided" ), new OptionalDependencySelector(),
+                new AndDependencySelector( new ScopeDependencySelector(), new 
OptionalDependencySelector(),
                                            new ExclusionDependencySelector() );
             session.setDependencySelector( depFilter );
 

Reply via email to