You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2012/06/10 23:41:58 UTC

svn commit: r1348667 - in /maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph: ./ internal/

Author: hboutemy
Date: Sun Jun 10 21:41:57 2012
New Revision: 1348667

URL: http://svn.apache.org/viewvc?rev=1348667&view=rev
Log:
added filter to DependencyGraphBuilder

Modified:
    maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilder.java
    maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyGraphBuilder.java
    maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven2DependencyGraphBuilder.java
    maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven2DependencyNode.java
    maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java
    maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyNode.java

Modified: maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilder.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilder.java?rev=1348667&r1=1348666&r2=1348667&view=diff
==============================================================================
--- maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilder.java (original)
+++ maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/DependencyGraphBuilder.java Sun Jun 10 21:41:57 2012
@@ -19,6 +19,7 @@ package org.apache.maven.shared.dependen
  * under the License.
  */
 
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.project.MavenProject;
 
 /**
@@ -29,6 +30,6 @@ import org.apache.maven.project.MavenPro
  */
 public interface DependencyGraphBuilder
 {
-    public DependencyNode buildDependencyGraph( MavenProject project )
+    public DependencyNode buildDependencyGraph( MavenProject project, ArtifactFilter filter )
         throws DependencyGraphBuilderException;
 }

Modified: maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyGraphBuilder.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyGraphBuilder.java?rev=1348667&r1=1348666&r2=1348667&view=diff
==============================================================================
--- maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyGraphBuilder.java (original)
+++ maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/DefaultDependencyGraphBuilder.java Sun Jun 10 21:41:57 2012
@@ -19,6 +19,7 @@ package org.apache.maven.shared.dependen
  * under the License.
  */
 
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
@@ -46,7 +47,7 @@ public class DefaultDependencyGraphBuild
 {
     protected PlexusContainer container;
 
-    public DependencyNode buildDependencyGraph( MavenProject project )
+    public DependencyNode buildDependencyGraph( MavenProject project, ArtifactFilter filter )
         throws DependencyGraphBuilderException
     {
         try
@@ -56,7 +57,7 @@ public class DefaultDependencyGraphBuild
             DependencyGraphBuilder effectiveGraphBuilder =
                 (DependencyGraphBuilder) container.lookup( DependencyGraphBuilder.class.getCanonicalName(), hint );
 
-            return effectiveGraphBuilder.buildDependencyGraph( project );
+            return effectiveGraphBuilder.buildDependencyGraph( project, filter );
         }
         catch ( ComponentLookupException e )
         {

Modified: maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven2DependencyGraphBuilder.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven2DependencyGraphBuilder.java?rev=1348667&r1=1348666&r2=1348667&view=diff
==============================================================================
--- maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven2DependencyGraphBuilder.java (original)
+++ maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven2DependencyGraphBuilder.java Sun Jun 10 21:41:57 2012
@@ -19,6 +19,7 @@ package org.apache.maven.shared.dependen
  * under the License.
  */
 
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
@@ -42,12 +43,12 @@ public class Maven2DependencyGraphBuilde
     @Requirement
     private DependencyTreeBuilder treeBuilder;
 
-    public DependencyNode buildDependencyGraph( MavenProject project )
+    public DependencyNode buildDependencyGraph( MavenProject project, ArtifactFilter filter )
         throws DependencyGraphBuilderException
     {
         try
         {
-            return new Maven2DependencyNode( treeBuilder.buildDependencyTree( project ) );
+            return new Maven2DependencyNode( treeBuilder.buildDependencyTree( project ), filter );
         }
         catch ( DependencyTreeBuilderException e )
         {

Modified: maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven2DependencyNode.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven2DependencyNode.java?rev=1348667&r1=1348666&r2=1348667&view=diff
==============================================================================
--- maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven2DependencyNode.java (original)
+++ maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven2DependencyNode.java Sun Jun 10 21:41:57 2012
@@ -24,6 +24,7 @@ import java.util.Collections;
 import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
 
 /**
@@ -40,14 +41,17 @@ public class Maven2DependencyNode
 
     private final List<DependencyNode> children;
 
-    public Maven2DependencyNode( org.apache.maven.shared.dependency.tree.DependencyNode node )
+    public Maven2DependencyNode( org.apache.maven.shared.dependency.tree.DependencyNode node, ArtifactFilter filter )
     {
         this.artifact = node.getArtifact();
 
         List<DependencyNode> nodes = new ArrayList<DependencyNode>( node.getChildren().size() );
         for ( org.apache.maven.shared.dependency.tree.DependencyNode child : node.getChildren() )
         {
-            nodes.add( new Maven2DependencyNode( child ) );
+            if ( filter.include( child.getArtifact() ) )
+            {
+                nodes.add( new Maven2DependencyNode( child, filter ) );
+            }
         }
 
         children = Collections.unmodifiableList( nodes );

Modified: maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java?rev=1348667&r1=1348666&r2=1348667&view=diff
==============================================================================
--- maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java (original)
+++ maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java Sun Jun 10 21:41:57 2012
@@ -22,6 +22,7 @@ package org.apache.maven.shared.dependen
 import java.lang.reflect.InvocationTargetException;
 
 import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.project.DefaultDependencyResolutionRequest;
 import org.apache.maven.project.DependencyResolutionException;
 import org.apache.maven.project.DependencyResolutionRequest;
@@ -52,7 +53,7 @@ public class Maven3DependencyGraphBuilde
     @Requirement
     private ArtifactFactory factory;
 
-    public DependencyNode buildDependencyGraph( MavenProject project )
+    public DependencyNode buildDependencyGraph( MavenProject project, ArtifactFilter filter )
         throws DependencyGraphBuilderException
     {
         try
@@ -65,7 +66,7 @@ public class Maven3DependencyGraphBuilde
 
             DependencyResolutionResult result = resolver.resolve( request );
 
-            return new Maven3DependencyNode( factory, result.getDependencyGraph(), project.getArtifact() );
+            return new Maven3DependencyNode( factory, result.getDependencyGraph(), project.getArtifact(), filter );
         }
         catch ( DependencyResolutionException e )
         {

Modified: maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyNode.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyNode.java?rev=1348667&r1=1348666&r2=1348667&view=diff
==============================================================================
--- maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyNode.java (original)
+++ maven/shared/trunk/maven-dependency-tree/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyNode.java Sun Jun 10 21:41:57 2012
@@ -25,6 +25,7 @@ import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
 import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
 import org.sonatype.aether.graph.Dependency;
@@ -43,7 +44,8 @@ public class Maven3DependencyNode
 
     private final List<DependencyNode> children;
 
-    public Maven3DependencyNode( ArtifactFactory factory, org.sonatype.aether.graph.DependencyNode node, final Artifact artifact )
+    public Maven3DependencyNode( ArtifactFactory factory, org.sonatype.aether.graph.DependencyNode node,
+                                 final Artifact artifact, ArtifactFilter filter )
     {
         if ( artifact != null )
         {
@@ -54,16 +56,30 @@ public class Maven3DependencyNode
             Dependency dep = node.getDependency();
             org.sonatype.aether.artifact.Artifact art = dep.getArtifact();
 
-            this.artifact =
+            Artifact tmpArtifact =
                 factory.createDependencyArtifact( art.getGroupId(), art.getArtifactId(),
                                                   VersionRange.createFromVersion( art.getVersion() ),
                                                   art.getExtension(), art.getClassifier(), dep.getScope() );
+
+            if ( !filter.include( tmpArtifact ) )
+            {
+                this.artifact = null;
+                children = null;
+                return;
+            }
+
+            this.artifact = tmpArtifact;
         }
 
         List<DependencyNode> nodes = new ArrayList<DependencyNode>( node.getChildren().size() );
         for ( org.sonatype.aether.graph.DependencyNode child : node.getChildren() )
         {
-            nodes.add( new Maven3DependencyNode( factory, child, null ) );
+            DependencyNode tmpNode = new Maven3DependencyNode( factory, child, null, filter );
+
+            if ( tmpNode.getArtifact() != null )
+            {
+                nodes.add( tmpNode );
+            }
         }
         children = Collections.unmodifiableList( nodes );
     }