Author: stephenc
Date: Thu Jan 20 13:25:53 2011
New Revision: 1061291

URL: http://svn.apache.org/viewvc?rev=1061291&view=rev
Log:
[MANTTASKS-210] added pathType attribute to allow filtering of the resolved 
artifacts when constructing the path object.  Default behaviour remains as is 
if the attribute is not defined

Modified:
    
maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
    maven/ant-tasks/trunk/src/site/apt/reference.apt

Modified: 
maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
URL: 
http://svn.apache.org/viewvc/maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java?rev=1061291&r1=1061290&r2=1061291&view=diff
==============================================================================
--- 
maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
 (original)
+++ 
maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
 Thu Jan 20 13:25:53 2011
@@ -120,6 +120,11 @@ public class DependenciesTask
     private String type;
 
     /**
+     * A comma separated list of dependency types to include in the resulting 
path object.
+     */
+    private String pathType;
+
+    /**
      * The file name to use for the generated Ant build that contains 
dependency properties and references.
      */
     private String dependencyRefsBuildFile;
@@ -281,11 +286,22 @@ public class DependenciesTask
 
         Set<String> versions = new HashSet<String>();
 
+        ArtifactFilter pathFilter;
+
+        if ( pathType  != null )
+        {
+            pathFilter = new TypesArtifactFilter( pathType );
+        }
+        else
+        {
+            pathFilter = null;
+        }
+
         for ( Iterator<Artifact> i = result.getArtifacts().iterator(); 
i.hasNext(); )
         {
             Artifact artifact = i.next();
 
-            addArtifactToResult( localRepo, artifact, dependencyFileSet, 
dependencyPath );
+            addArtifactToResult( localRepo, artifact, dependencyFileSet, 
dependencyPath, pathFilter );
 
             versions.add( artifact.getVersion() );
 
@@ -460,11 +476,11 @@ public class DependenciesTask
     private void addArtifactToResult( ArtifactRepository localRepo, Artifact 
artifact,
                                       FileSet toFileSet )
     {
-        addArtifactToResult( localRepo, artifact, toFileSet, null );
+        addArtifactToResult( localRepo, artifact, toFileSet, null, null );
     }
 
     private void addArtifactToResult( ArtifactRepository localRepo, Artifact 
artifact,
-                                      FileSet toFileSet, Path path )
+                                      FileSet toFileSet, Path path, 
ArtifactFilter filter )
     {
         String filename = localRepo.pathOf( artifact );
 
@@ -477,7 +493,7 @@ public class DependenciesTask
         artifactFileSet.setFile( artifact.getFile() );
         getProject().addReference( artifact.getDependencyConflictId(), 
artifactFileSet );
 
-        if ( path != null )
+        if ( path != null && ( filter == null || filter.include( artifact ) ) )
         {
             path.addFileset( artifactFileSet );
         }
@@ -588,6 +604,11 @@ public class DependenciesTask
         this.type = type;
     }
 
+    public void setPathType( String pathType )
+    {
+        this.pathType = pathType;
+    }
+
     public String getScopes()
     {
         return scopes;

Modified: maven/ant-tasks/trunk/src/site/apt/reference.apt
URL: 
http://svn.apache.org/viewvc/maven/ant-tasks/trunk/src/site/apt/reference.apt?rev=1061291&r1=1061290&r2=1061291&view=diff
==============================================================================
--- maven/ant-tasks/trunk/src/site/apt/reference.apt (original)
+++ maven/ant-tasks/trunk/src/site/apt/reference.apt Thu Jan 20 13:25:53 2011
@@ -56,6 +56,8 @@
 
*-------------------------+---------------------------------------------------------------------------+--------------+-------------+
 | <<<type>>>              | A comma separated list of artifact types to be 
retrieved. By default all artifact types will be included.   | No     |    |
 
*-------------------------+---------------------------------------------------------------------------+--------------+-------------+
+| <<<pathType>>>          | A comma separated list of artifact types to be 
added to the path object. By default all artifact types will be included.   | 
No     |    |
+*-------------------------+---------------------------------------------------------------------------+--------------+-------------+
 | <<<useScope>>>          | Follows the Maven scope behaviour.  Can be set to 
<<<compile>>>, <<<runtime>>>, or <<<test>>>.  If no value is provided, all 
scopes will be included.  | No   |    |
 
*-------------------------+---------------------------------------------------------------------------+--------------+-------------+
 | <<<scopes>>>            | A comma separated list of specific scopes to be 
retrieved.  If no value is provided, all scopes will be included.  | No   |  
2.0.10  |


Reply via email to