You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2011/10/28 15:01:39 UTC
svn commit: r1190290 -
/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/PurgeLocalRepositoryMojo.java
Author: olamy
Date: Fri Oct 28 13:01:39 2011
New Revision: 1190290
URL: http://svn.apache.org/viewvc?rev=1190290&view=rev
Log:
[MDEP-331] Add to purge-local-repository goal ability to clean only snapshots.
Modified:
maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/PurgeLocalRepositoryMojo.java
Modified: maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/PurgeLocalRepositoryMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/PurgeLocalRepositoryMojo.java?rev=1190290&r1=1190289&r2=1190290&view=diff
==============================================================================
--- maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/PurgeLocalRepositoryMojo.java (original)
+++ maven/plugins/trunk/maven-dependency-plugin/src/main/java/org/apache/maven/plugin/dependency/PurgeLocalRepositoryMojo.java Fri Oct 28 13:01:39 2011
@@ -28,6 +28,7 @@ import org.apache.maven.artifact.resolve
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.ArtifactFilter;
import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.model.Dependency;
import org.apache.maven.plugin.AbstractMojo;
@@ -170,6 +171,15 @@ public class PurgeLocalRepositoryMojo
*/
private boolean verbose;
+ /**
+ * Whether to purge only snapshot artifacts.
+ *
+ * @parameter expression="${snapshotsOnly}" default-value="false"
+ * @since 2.4
+ */
+ private boolean snapshotsOnly;
+
+
public void execute()
throws MojoExecutionException, MojoFailureException
{
@@ -229,6 +239,10 @@ public class PurgeLocalRepositoryMojo
factory.createDependencyArtifact( dependency.getGroupId(), dependency.getArtifactId(), vr,
dependency.getType(), dependency.getClassifier(),
dependency.getScope() );
+ if ( snapshotsOnly && !artifact.isSnapshot() )
+ {
+ continue;
+ }
dependencyArtifacts.add( artifact );
}
@@ -236,9 +250,25 @@ public class PurgeLocalRepositoryMojo
{
try
{
- ArtifactResolutionResult result =
- resolver.resolveTransitively( dependencyArtifacts, project.getArtifact(), remoteRepositories,
- localRepository, source );
+ ArtifactResolutionResult result;
+
+ if ( snapshotsOnly )
+ {
+ result = resolver.resolveTransitively( dependencyArtifacts, project.getArtifact(), localRepository,
+ remoteRepositories, source, new ArtifactFilter()
+ {
+ public boolean include( Artifact artifact )
+ {
+ return artifact.isSnapshot();
+ }
+ } );
+ }
+ else
+ {
+ result =
+ resolver.resolveTransitively( dependencyArtifacts, project.getArtifact(), remoteRepositories,
+ localRepository, source );
+ }
artifactMap = ArtifactUtils.artifactMapByVersionlessId( result.getArtifacts() );
}