Author: brett
Date: Wed Sep 28 22:50:50 2005
New Revision: 292392
URL: http://svn.apache.org/viewcvs?rev=292392&view=rev
Log:
PR: MNG-1039
Submitted by: Matthew Inger
Reviewed by: Brett Porter
filter based on dependency type
Added:
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/filter/TypeArtifactFilter.java
(with props)
Modified:
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
Modified:
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java?rev=292392&r1=292391&r2=292392&view=diff
==============================================================================
---
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
(original)
+++
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
Wed Sep 28 22:50:50 2005
@@ -24,8 +24,10 @@
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.artifact.resolver.filter.AndArtifactFilter;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
+import org.apache.maven.artifact.resolver.filter.TypeArtifactFilter;
import
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.Repository;
@@ -63,6 +65,8 @@
private String useScope;
+ private String type;
+
private boolean verbose;
/**
@@ -145,7 +149,26 @@
// TODO: managed dependencies
Map managedDependencies = Collections.EMPTY_MAP;
- ArtifactFilter filter = useScope != null ? new
ScopeArtifactFilter( useScope ) : null;
+ ArtifactFilter filter = null;
+ if ( useScope != null )
+ {
+ filter = new ScopeArtifactFilter( useScope );
+ }
+ if ( type != null )
+ {
+ TypeArtifactFilter typeArtifactFilter = new
TypeArtifactFilter( type );
+ if ( filter != null )
+ {
+ AndArtifactFilter andFilter = new AndArtifactFilter();
+ andFilter.add( filter );
+ andFilter.add( typeArtifactFilter );
+ filter = andFilter;
+ }
+ else
+ {
+ filter = typeArtifactFilter;
+ }
+ }
result = resolver.resolveTransitively( artifacts, pomArtifact,
managedDependencies, localRepo,
remoteArtifactRepositories,
metadataSource, filter, listeners );
@@ -181,12 +204,12 @@
{
Artifact artifact = (Artifact) i.next();
String filename = localRepo.pathOf( artifact );
-
+
FileList.FileName file = new FileList.FileName();
file.setName( filename );
-
+
fileList.addConfiguredFile( file );
-
+
fileSet.createInclude().setName( filename );
}
}
@@ -263,4 +286,11 @@
{
this.useScope = useScope;
}
+
+ public void setType( String type )
+ {
+ this.type = type;
+ }
+
+
}
Added:
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/filter/TypeArtifactFilter.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/filter/TypeArtifactFilter.java?rev=292392&view=auto
==============================================================================
---
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/filter/TypeArtifactFilter.java
(added)
+++
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/filter/TypeArtifactFilter.java
Wed Sep 28 22:50:50 2005
@@ -0,0 +1,38 @@
+package org.apache.maven.artifact.resolver.filter;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.artifact.Artifact;
+
+/**
+ * Artifact Filter which filters on artifact type
+ */
+public class TypeArtifactFilter
+ implements ArtifactFilter
+{
+ private String type = "jar";
+
+ public TypeArtifactFilter( String type )
+ {
+ this.type = type;
+ }
+
+ public boolean include( Artifact artifact )
+ {
+ return type.equals( artifact.getType() );
+ }
+}
Propchange:
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/filter/TypeArtifactFilter.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/filter/TypeArtifactFilter.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]