Class CopyDependenciesMojo
java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.maven.plugins.dependency.AbstractDependencyMojo
org.apache.maven.plugins.dependency.fromDependencies.AbstractDependencyFilterMojo
org.apache.maven.plugins.dependency.fromDependencies.AbstractFromDependenciesMojo
org.apache.maven.plugins.dependency.fromDependencies.CopyDependenciesMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
@Mojo(name="copy-dependencies",
requiresDependencyResolution=TEST,
defaultPhase=PROCESS_SOURCES,
threadSafe=true)
public class CopyDependenciesMojo
extends AbstractFromDependenciesMojo
Goal that copies the files for a project's dependencies from the repository to a directory.
The default location to copy to is target/dependencies.
Since all files are copied to the same directory by default, a dependency that
has the same file name as another dependency will be overwritten.
- Since:
- 1.0
- Author:
- Brian Fox
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected boolean
Add parent poms to the list of copied dependencies (both current project pom parents and dependencies parents).protected boolean
Also copy the pom of each artifact.protected boolean
Also copy the signature files (.asc) of each artifact.protected boolean
Either append the artifact's baseVersion or uniqueVersion to the filename.Fields inherited from class org.apache.maven.plugins.dependency.fromDependencies.AbstractFromDependenciesMojo
failOnMissingClassifierArtifact, outputDirectory, stripClassifier, stripType, stripVersion, useRepositoryLayout, useSubDirectoryPerArtifact, useSubDirectoryPerScope, useSubDirectoryPerType
Fields inherited from class org.apache.maven.plugins.dependency.fromDependencies.AbstractDependencyFilterMojo
classifier, excludeArtifactIds, excludeClassifiers, excludeGroupIds, excludeScope, excludeTransitive, excludeTypes, includeArtifactIds, includeClassifiers, includeGroupIds, includeScope, includeTypes, markersDirectory, overWriteIfNewer, overWriteReleases, overWriteSnapshots, prependGroupId, type
Fields inherited from class org.apache.maven.plugins.dependency.AbstractDependencyMojo
reactorProjects, session
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
-
Constructor Summary
ConstructorsConstructorDescriptionCopyDependenciesMojo
(org.apache.maven.execution.MavenSession session, org.sonatype.plexus.build.incremental.BuildContext buildContext, org.apache.maven.project.MavenProject project, ResolverUtil resolverUtil, org.apache.maven.shared.transfer.repository.RepositoryManager repositoryManager, org.apache.maven.project.ProjectBuilder projectBuilder, org.apache.maven.artifact.handler.manager.ArtifactHandlerManager artifactHandlerManager, CopyUtil copyUtil, org.apache.maven.shared.transfer.artifact.install.ArtifactInstaller installer) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
copyArtifact
(org.apache.maven.artifact.Artifact artifact, boolean removeVersion, boolean prependGroupId, boolean theUseBaseVersion) Copies the Artifact after building the destination file name if overridden.protected void
copyArtifact
(org.apache.maven.artifact.Artifact artifact, boolean removeVersion, boolean prependGroupId, boolean useBaseVersion, boolean removeClassifier) void
Copy the pom files associated with the artifacts.void
copyPoms
(File destDir, Set<org.apache.maven.artifact.Artifact> artifacts, boolean removeVersion, boolean removeClassifier) Copy the pom files associated with the artifacts.protected void
Main entry into mojo.protected org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter
Return anArtifactsFilter
indicating which artifacts must be filtered out.protected org.apache.maven.artifact.Artifact
getResolvedPomArtifact
(org.apache.maven.artifact.Artifact artifact) boolean
void
setCopyPom
(boolean copyPom) Methods inherited from class org.apache.maven.plugins.dependency.fromDependencies.AbstractFromDependenciesMojo
getOutputDirectory, isFailOnMissingClassifierArtifact, isStripType, isStripVersion, isUseRepositoryLayout, isUseSubDirectoryPerArtifact, isUseSubDirectoryPerScope, isUseSubDirectoryPerType, setFailOnMissingClassifierArtifact, setOutputDirectory, setStripType, setStripVersion, setUseRepositoryLayout, setUseSubDirectoryPerArtifact, setUseSubDirectoryPerScope, setUseSubDirectoryPerType
Methods inherited from class org.apache.maven.plugins.dependency.fromDependencies.AbstractDependencyFilterMojo
filterMarkedDependencies, getDependencySets, getDependencySets, getMarkersDirectory, getResolvedDependencies, getResolverUtil, isPrependGroupId, setMarkersDirectory, setPrependGroupId
Methods inherited from class org.apache.maven.plugins.dependency.AbstractDependencyMojo
execute, getProject, isSilent, isSkip, setSilent, setSkip
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Field Details
-
copyPom
@Parameter(property="mdep.copyPom", defaultValue="false") protected boolean copyPomAlso copy the pom of each artifact.- Since:
- 2.0
-
useBaseVersion
@Parameter(property="mdep.useBaseVersion", defaultValue="true") protected boolean useBaseVersionEither append the artifact's baseVersion or uniqueVersion to the filename. Will only be used ifAbstractFromDependenciesMojo.isStripVersion()
isfalse
.- Since:
- 2.6
-
addParentPoms
@Parameter(property="mdep.addParentPoms", defaultValue="false") protected boolean addParentPomsAdd parent poms to the list of copied dependencies (both current project pom parents and dependencies parents).- Since:
- 2.8
-
copySignatures
@Parameter(property="mdep.copySignatures", defaultValue="false") protected boolean copySignaturesAlso copy the signature files (.asc) of each artifact.- Since:
- 3.2.0
-
-
Constructor Details
-
Method Details
-
doExecute
protected void doExecute() throws org.apache.maven.plugin.MojoExecutionExceptionMain entry into mojo. Gets the list of dependencies and iterates through calling copyArtifact.- Specified by:
doExecute
in classAbstractDependencyMojo
- Throws:
org.apache.maven.plugin.MojoExecutionException
- with a message if an error occurs- See Also:
-
copyArtifact
protected void copyArtifact(org.apache.maven.artifact.Artifact artifact, boolean removeVersion, boolean prependGroupId, boolean theUseBaseVersion) throws org.apache.maven.plugin.MojoExecutionException Copies the Artifact after building the destination file name if overridden. This method also checks if the classifier is set and adds it to the destination file name if needed.- Parameters:
artifact
- the object to be copiedremoveVersion
- specifies if the version should be removed from the file name when copyingprependGroupId
- specifies if the group ID should be prefixed to the file while copyingtheUseBaseVersion
- specifies if the baseVersion of the artifact should be used instead of the version- Throws:
org.apache.maven.plugin.MojoExecutionException
- with a message if an error occurs- See Also:
-
copyArtifact
protected void copyArtifact(org.apache.maven.artifact.Artifact artifact, boolean removeVersion, boolean prependGroupId, boolean useBaseVersion, boolean removeClassifier) throws org.apache.maven.plugin.MojoExecutionException - Throws:
org.apache.maven.plugin.MojoExecutionException
-
copyPoms
public void copyPoms(File destDir, Set<org.apache.maven.artifact.Artifact> artifacts, boolean removeVersion) throws org.apache.maven.plugin.MojoExecutionException Copy the pom files associated with the artifacts.- Parameters:
destDir
- the destination directoryFile
artifacts
- the artifactsArtifact
removeVersion
- remove version or not- Throws:
org.apache.maven.plugin.MojoExecutionException
- in case of errors
-
copyPoms
public void copyPoms(File destDir, Set<org.apache.maven.artifact.Artifact> artifacts, boolean removeVersion, boolean removeClassifier) throws org.apache.maven.plugin.MojoExecutionException Copy the pom files associated with the artifacts.- Parameters:
destDir
- the destination directoryFile
artifacts
- the artifactsArtifact
removeVersion
- remove version or notremoveClassifier
- remove the classifier or not- Throws:
org.apache.maven.plugin.MojoExecutionException
- in case of errors
-
getResolvedPomArtifact
protected org.apache.maven.artifact.Artifact getResolvedPomArtifact(org.apache.maven.artifact.Artifact artifact) - Parameters:
artifact
-Artifact
- Returns:
Artifact
-
getMarkedArtifactFilter
protected org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter getMarkedArtifactFilter()Description copied from class:AbstractDependencyFilterMojo
Return anArtifactsFilter
indicating which artifacts must be filtered out.- Specified by:
getMarkedArtifactFilter
in classAbstractDependencyFilterMojo
- Returns:
- an
ArtifactsFilter
indicating which artifacts must be filtered out
-
isCopyPom
public boolean isCopyPom()- Returns:
- true, if the pom of each artifact must be copied
-
setCopyPom
public void setCopyPom(boolean copyPom) - Parameters:
copyPom
- true if the pom of each artifact must be copied
-