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 );
}