Start using the generic ScopeFilter
git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@1748777 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index 27901b6..ca293a7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -106,7 +106,7 @@
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-common-artifact-filters</artifactId>
- <version>3.0.0</version>
+ <version>3.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
diff --git a/src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java b/src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java
index 8a44588..2ef241a 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/archive/task/AddDependencySetsTask.java
@@ -19,7 +19,16 @@
* under the License.
*/
+import java.io.File;
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.Model;
import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
@@ -38,20 +47,14 @@
import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.project.ProjectBuildingResult;
import org.apache.maven.shared.artifact.filter.ScopeArtifactFilter;
+import org.apache.maven.shared.artifact.filter.resolve.ScopeFilter;
+import org.apache.maven.shared.artifact.filter.resolve.transform.ArtifactIncludeFilterTransformer;
import org.codehaus.plexus.archiver.Archiver;
import org.codehaus.plexus.archiver.ArchiverException;
import org.codehaus.plexus.components.io.functions.InputStreamTransformer;
import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator;
import org.codehaus.plexus.logging.Logger;
-import java.io.File;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
/**
* @version $Id$
*/
@@ -331,7 +334,7 @@
logger.debug( "Filtering dependency artifacts WITHOUT transitive dependency path information." );
}
- final ScopeArtifactFilter filter = new ScopeArtifactFilter( dependencySet.getScope() );
+ final ArtifactFilter filter = newArtifactFilter( dependencySet );
FilterUtils.filterArtifacts( dependencyArtifacts, dependencySet.getIncludes(), dependencySet.getExcludes(),
dependencySet.isUseStrictFiltering(), dependencySet.isUseTransitiveFiltering(),
@@ -340,6 +343,35 @@
return dependencyArtifacts;
}
+ private ArtifactFilter newArtifactFilter( final DependencySet dependencySet )
+ {
+ ScopeArtifactFilter filter = new ScopeArtifactFilter( dependencySet.getScope() );
+
+ List<String> includes = new ArrayList<String>();
+ if ( filter.isIncludeCompileScope() )
+ {
+ includes.add( "compile" );
+ }
+ if ( filter.isIncludeProvidedScope() )
+ {
+ includes.add( "provided" );
+ }
+ if ( filter.isIncludeRuntimeScope() )
+ {
+ includes.add( "runtime" );
+ }
+ if ( filter.isIncludeSystemScope() )
+ {
+ includes.add( "system" );
+ }
+ if ( filter.isIncludeTestScope() )
+ {
+ includes.add( "test" );
+ }
+
+ return new ArtifactIncludeFilterTransformer().transform( ScopeFilter.including( includes ) );
+ }
+
private void addNonArchiveDependency( final Artifact depArtifact, final MavenProject depProject,
final DependencySet dependencySet, final Archiver archiver,
final AssemblerConfigurationSource configSource )