@Mojo(name="purge-local-repository",
threadSafe=true,
requiresProject=false)
public class PurgeLocalRepositoryMojo
extends org.apache.maven.plugin.AbstractMojo
| Modifier and Type | Class and Description |
|---|---|
private class |
PurgeLocalRepositoryMojo.DirectDependencyFilter
Includes only direct project dependencies.
|
private class |
PurgeLocalRepositoryMojo.SnapshotsFilter
Includes only snapshot artifacts
|
| Modifier and Type | Field and Description |
|---|---|
private boolean |
actTransitively
Whether this mojo should act on all transitive dependencies.
|
static java.lang.String |
ARTIFACT_ID_FUZZINESS |
private org.apache.maven.artifact.handler.manager.ArtifactHandlerManager |
artifactHandlerManager
Artifact handler manager.
|
private org.apache.maven.shared.artifact.resolve.ArtifactResolver |
artifactResolver
The artifact resolver used to re-resolve dependencies, if that option is enabled.
|
private org.apache.maven.shared.dependencies.resolve.DependencyResolver |
dependencyResolver
The dependency resolver
|
private java.lang.String |
exclude
Comma-separated list of groupId:artifactId entries, which should be used to exclude artifacts from
deletion/refresh.
|
private java.util.List<java.lang.String> |
excludes
The list of dependencies in the form of groupId:artifactId which should NOT be deleted/refreshed.
|
static java.lang.String |
FILE_FUZZINESS |
static java.lang.String |
GROUP_ID_FUZZINESS |
private java.lang.String |
include
Comma-separated list of groupId:artifactId entries, which should be used to include artifacts for
deletion/refresh.
|
private java.util.List<java.lang.String> |
includes
The list of dependencies in the form of groupId:artifactId which should BE deleted/refreshed.
|
private org.apache.maven.artifact.repository.ArtifactRepository |
localRepository
The local repository, from which to delete artifacts.
|
private java.lang.String |
manualInclude
Comma-separated list of groupId:artifactId entries, which should be used to manually include artifacts for
deletion.
|
private java.util.List<java.lang.String> |
manualIncludes
The list of dependencies in the form of groupId:artifactId which should BE deleted/purged from the local
repository.
|
private org.apache.maven.plugin.MojoExecution |
mojoExecution
This mojo execution, used to determine if it was launched from the lifecycle or the command-line.
|
private org.apache.maven.project.MavenProject |
project
The current Maven project.
|
private java.util.List<org.apache.maven.project.MavenProject> |
reactorProjects
The Maven projects in the reactor.
|
private boolean |
reResolve
Whether to re-resolve the artifacts once they have been deleted from the local repository.
|
private java.lang.String |
resolutionFuzziness
Determines how liberally the plugin will delete an artifact from the local repository.
|
private org.apache.maven.execution.MavenSession |
session |
private boolean |
skip
Skip plugin execution completely.
|
private boolean |
snapshotsOnly
Whether to purge only snapshot artifacts.
|
private boolean |
verbose
Whether this plugin should output verbose messages.
|
static java.lang.String |
VERSION_FUZZINESS |
| Constructor and Description |
|---|
PurgeLocalRepositoryMojo() |
| Modifier and Type | Method and Description |
|---|---|
private org.apache.maven.shared.artifact.filter.resolve.TransformableFilter |
createPurgeArtifactsFilter(org.apache.maven.project.MavenProject project,
java.util.List<org.apache.maven.model.Dependency> dependencies,
java.util.Set<org.apache.maven.artifact.Artifact> purgedArtifacts)
Create the includes exclude filter to use when resolving and purging dependencies Also excludes any "system"
scope dependencies
|
void |
execute() |
private java.io.File |
findDeleteTarget(org.apache.maven.artifact.Artifact artifact) |
private java.lang.String |
gavToPath(java.lang.String gav)
Convert a groupId:artifactId:version to a file system path
|
private java.util.Set<org.apache.maven.artifact.Artifact> |
getFilteredResolvedArtifacts(org.apache.maven.project.MavenProject project,
java.util.List<org.apache.maven.model.Dependency> dependencies,
org.apache.maven.shared.artifact.filter.resolve.TransformableFilter filter) |
boolean |
isSkip() |
private void |
manualPurge(java.util.List<java.lang.String> includes)
Purge/Delete artifacts from the local repository according to the given patterns.
|
private java.util.List<java.lang.String> |
parseIncludes(java.lang.String include)
Convert comma separated list of includes to List object
|
private void |
purgeArtifacts(java.util.Set<org.apache.maven.artifact.Artifact> artifacts) |
private void |
purgeLocalRepository(org.apache.maven.project.MavenProject project,
java.util.Set<org.apache.maven.artifact.Artifact> purgedArtifacts)
Purges the local repository for the dependencies in the given Maven project.
|
private void |
reResolveArtifacts(org.apache.maven.project.MavenProject project,
java.util.Set<org.apache.maven.artifact.Artifact> artifacts,
org.apache.maven.artifact.resolver.filter.ArtifactFilter filter) |
void |
setSkip(boolean skip) |
private boolean |
shouldPurgeAllProjectsInReactor()
Determines if all projects in the reactor should be purged from their dependencies.
|
private java.lang.String |
toPatternExcludes(org.apache.maven.artifact.Artifact artifact)
Returns a string that represents a pattern for an exclude filter for the given artifact.
|
private void |
verbose(java.lang.String message) |
public static final java.lang.String FILE_FUZZINESS
public static final java.lang.String VERSION_FUZZINESS
public static final java.lang.String ARTIFACT_ID_FUZZINESS
public static final java.lang.String GROUP_ID_FUZZINESS
@Parameter(defaultValue="${reactorProjects}",
readonly=true,
required=true)
private java.util.List<org.apache.maven.project.MavenProject> reactorProjects
@Parameter(defaultValue="${project}",
readonly=true,
required=true)
private org.apache.maven.project.MavenProject project
@Parameter(defaultValue="${session}",
readonly=true,
required=true)
private org.apache.maven.execution.MavenSession session
@Parameter(defaultValue="${mojo}",
required=true,
readonly=true)
private org.apache.maven.plugin.MojoExecution mojoExecution
@Component private org.apache.maven.artifact.handler.manager.ArtifactHandlerManager artifactHandlerManager
@Parameter private java.util.List<java.lang.String> manualIncludes
@Parameter(property="manualInclude") private java.lang.String manualInclude
manualIncludes parameter, since List parameters
are not currently compatible with CLI specification.@Parameter private java.util.List<java.lang.String> includes
@Parameter(property="include") private java.lang.String include
includes parameter, since List
parameters are not currently compatible with CLI specification.@Parameter private java.util.List<java.lang.String> excludes
@Parameter(property="exclude") private java.lang.String exclude
excludes parameter, since List
parameters are not currently compatible with CLI specification.@Parameter(property="reResolve",
defaultValue="true")
private boolean reResolve
@Parameter(defaultValue="${localRepository}",
readonly=true,
required=true)
private org.apache.maven.artifact.repository.ArtifactRepository localRepository
@Component private org.apache.maven.shared.dependencies.resolve.DependencyResolver dependencyResolver
@Component private org.apache.maven.shared.artifact.resolve.ArtifactResolver artifactResolver
@Parameter(property="resolutionFuzziness",
defaultValue="version")
private java.lang.String resolutionFuzziness
@Parameter(property="actTransitively",
defaultValue="true")
private boolean actTransitively
@Parameter(property="verbose",
defaultValue="false")
private boolean verbose
@Parameter(property="snapshotsOnly",
defaultValue="false")
private boolean snapshotsOnly
@Parameter(property="skip",
defaultValue="false")
private boolean skip
public void execute()
throws org.apache.maven.plugin.MojoExecutionException,
org.apache.maven.plugin.MojoFailureException
org.apache.maven.plugin.MojoExecutionExceptionorg.apache.maven.plugin.MojoFailureExceptionprivate boolean shouldPurgeAllProjectsInReactor()
true if all projects in the reactor should be purged, false otherwise.private void purgeLocalRepository(org.apache.maven.project.MavenProject project,
java.util.Set<org.apache.maven.artifact.Artifact> purgedArtifacts)
throws org.apache.maven.plugin.MojoFailureException
project - Maven project.resolvedArtifactsToPurge - The artifacts that were already purged.org.apache.maven.plugin.MojoFailureException - in case of errors during the purge.private void manualPurge(java.util.List<java.lang.String> includes)
throws org.apache.maven.plugin.MojoExecutionException
inclusionPatterns - org.apache.maven.plugin.MojoExecutionExceptionprivate java.lang.String gavToPath(java.lang.String gav)
gav, - the groupId:artifactId:version stringprivate org.apache.maven.shared.artifact.filter.resolve.TransformableFilter createPurgeArtifactsFilter(org.apache.maven.project.MavenProject project,
java.util.List<org.apache.maven.model.Dependency> dependencies,
java.util.Set<org.apache.maven.artifact.Artifact> purgedArtifacts)
project - The Maven project.dependencies - The dependencies to use as a reference if we're excluding transitive dependenciespurgedArtifacts - The artifacts already purged.private java.lang.String toPatternExcludes(org.apache.maven.artifact.Artifact artifact)
artifact - Artifact.private java.util.List<java.lang.String> parseIncludes(java.lang.String include)
include - private java.util.Set<org.apache.maven.artifact.Artifact> getFilteredResolvedArtifacts(org.apache.maven.project.MavenProject project,
java.util.List<org.apache.maven.model.Dependency> dependencies,
org.apache.maven.shared.artifact.filter.resolve.TransformableFilter filter)
private void purgeArtifacts(java.util.Set<org.apache.maven.artifact.Artifact> artifacts)
throws org.apache.maven.plugin.MojoFailureException
org.apache.maven.plugin.MojoFailureExceptionprivate void reResolveArtifacts(org.apache.maven.project.MavenProject project,
java.util.Set<org.apache.maven.artifact.Artifact> artifacts,
org.apache.maven.artifact.resolver.filter.ArtifactFilter filter)
throws org.apache.maven.artifact.resolver.ArtifactResolutionException,
org.apache.maven.artifact.resolver.ArtifactNotFoundException
org.apache.maven.artifact.resolver.ArtifactResolutionExceptionorg.apache.maven.artifact.resolver.ArtifactNotFoundExceptionprivate java.io.File findDeleteTarget(org.apache.maven.artifact.Artifact artifact)
private void verbose(java.lang.String message)
public boolean isSkip()
public void setSkip(boolean skip)