Package org.apache.maven.plugins.install
Class InstallFileMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.apache.maven.plugins.install.InstallFileMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
@Mojo(name="install-file", requiresProject=false, aggregator=true, threadSafe=true) public class InstallFileMojo extends org.apache.maven.plugin.AbstractMojoInstalls a file in the local repository.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringartifactIdArtifactId of the artifact to be installed.private java.lang.StringclassifierClassifier type of the artifact to be installed.private java.lang.StringextensionExtension of the artifact to be installed.private java.io.FilefileThe file to be installed in the local repository.private java.lang.BooleangeneratePomGenerate a minimal POM for the artifact if none is supplied via the parameterpomFile.private java.lang.StringgroupIdGroupId of the artifact to be installed.private static java.lang.StringILLEGAL_VERSION_CHARSprivate static java.util.function.Predicate<java.lang.String>IS_EMPTYprivate static java.util.function.Predicate<java.util.jar.JarEntry>IS_POM_ENTRYprivate static java.util.function.Predicate<java.lang.String>IS_POM_PACKAGINGprivate java.io.FilejavadocThe bundled API docs for the artifact.private java.io.FilelocalRepositoryPathThe path for a specific local repository directory.private org.slf4j.Loggerlogprivate static java.lang.StringLSprivate java.lang.StringpackagingPackaging type of the artifact to be installed.private static java.util.regex.PatternPOM_ENTRY_PATTERNprivate java.io.FilepomFileLocation of an existing POM file to be installed alongside the main artifact, given by thefileparameter.private org.eclipse.aether.RepositorySystemrepositorySystemprivate org.apache.maven.execution.MavenSessionsessionprivate java.io.FilesourcesThe bundled sources for the artifact.private java.lang.StringversionVersion of the artifact to be installed.
-
Constructor Summary
Constructors Constructor Description InstallFileMojo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidexecute()private org.apache.maven.model.ModelgenerateModel()Generates a minimal model from the user-supplied artifact information.private java.io.FilegeneratePomFile()Generates a (temporary) POM file from the plugin configuration.private java.io.FilegetLocalRepositoryFile(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.artifact.Artifact artifact)Gets the path of the specified artifact within the local repository.private java.io.FilegetPomLocalRepositoryFile(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.artifact.Artifact artifact)Gets the path of the specified artifact POM within the local repository.private booleanisValidId(java.lang.String id)Returnstrueif passed in string is "valid Maven ID" (groupId or artifactId).private booleanisValidVersion(java.lang.String version)Returnstrueif passed in string is "valid Maven (simple.private voidprocessModel(org.apache.maven.model.Model model)Populates missing mojo parameters from the specified POM.private java.io.FilereadingPomFromJarFile()private org.apache.maven.model.ModelreadModel(java.io.File pomFile)Parses a POM.
-
-
-
Field Detail
-
LS
private static final java.lang.String LS
-
log
private final org.slf4j.Logger log
-
repositorySystem
@Component private org.eclipse.aether.RepositorySystem repositorySystem
-
session
@Parameter(defaultValue="${session}", required=true, readonly=true) private org.apache.maven.execution.MavenSession session
-
groupId
@Parameter(property="groupId") private java.lang.String groupId
GroupId of the artifact to be installed. Retrieved from POM file if one is specified or extracted frompom.xmlin jar if available.
-
artifactId
@Parameter(property="artifactId") private java.lang.String artifactId
ArtifactId of the artifact to be installed. Retrieved from POM file if one is specified or extracted frompom.xmlin jar if available.
-
version
@Parameter(property="version") private java.lang.String version
Version of the artifact to be installed. Retrieved from POM file if one is specified or extracted frompom.xmlin jar if available.
-
packaging
@Parameter(property="packaging") private java.lang.String packaging
Packaging type of the artifact to be installed. Retrieved from POM file if one is specified or extracted frompom.xmlin jar if available.
-
classifier
@Parameter(property="classifier") private java.lang.String classifier
Classifier type of the artifact to be installed. For example, "sources" or "javadoc". Defaults to none which means this is the project's main artifact.- Since:
- 2.2
-
extension
@Parameter(property="extension") private java.lang.String extension
Extension of the artifact to be installed. If set, will override plugin own logic to detect extension. If not set, as Maven expected, packaging determines the artifact extension.- Since:
- 3.1.3
-
file
@Parameter(property="file", required=true) private java.io.File fileThe file to be installed in the local repository.
-
javadoc
@Parameter(property="javadoc") private java.io.File javadoc
The bundled API docs for the artifact.- Since:
- 2.3
-
sources
@Parameter(property="sources") private java.io.File sources
The bundled sources for the artifact.- Since:
- 2.3
-
pomFile
@Parameter(property="pomFile") private java.io.File pomFile
Location of an existing POM file to be installed alongside the main artifact, given by thefileparameter.- Since:
- 2.1
-
generatePom
@Parameter(property="generatePom") private java.lang.Boolean generatePom
Generate a minimal POM for the artifact if none is supplied via the parameterpomFile. Defaults totrueif there is no existing POM in the local repository yet.- Since:
- 2.1
-
localRepositoryPath
@Parameter(property="localRepositoryPath") private java.io.File localRepositoryPath
The path for a specific local repository directory. If not specified the local repository path configured in the Maven settings will be used.- Since:
- 2.2
-
IS_EMPTY
private static final java.util.function.Predicate<java.lang.String> IS_EMPTY
-
IS_POM_PACKAGING
private static final java.util.function.Predicate<java.lang.String> IS_POM_PACKAGING
-
POM_ENTRY_PATTERN
private static final java.util.regex.Pattern POM_ENTRY_PATTERN
-
IS_POM_ENTRY
private static final java.util.function.Predicate<java.util.jar.JarEntry> IS_POM_ENTRY
-
ILLEGAL_VERSION_CHARS
private static final java.lang.String ILLEGAL_VERSION_CHARS
- See Also:
- Constant Field Values
-
-
Method Detail
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException- Throws:
org.apache.maven.plugin.MojoExecutionExceptionorg.apache.maven.plugin.MojoFailureException
-
readingPomFromJarFile
private java.io.File readingPomFromJarFile() throws org.apache.maven.plugin.MojoExecutionException- Throws:
org.apache.maven.plugin.MojoExecutionException
-
readModel
private org.apache.maven.model.Model readModel(java.io.File pomFile) throws org.apache.maven.plugin.MojoExecutionExceptionParses a POM.- Parameters:
pomFile- The path of the POM file to parse, must not benull.- Returns:
- The model from the POM file, never
null. - Throws:
org.apache.maven.plugin.MojoExecutionException- If the POM could not be parsed.
-
processModel
private void processModel(org.apache.maven.model.Model model)
Populates missing mojo parameters from the specified POM.- Parameters:
model- The POM to extract missing artifact coordinates from, must not benull.
-
generateModel
private org.apache.maven.model.Model generateModel()
Generates a minimal model from the user-supplied artifact information.- Returns:
- The generated model, never
null.
-
generatePomFile
private java.io.File generatePomFile() throws org.apache.maven.plugin.MojoExecutionExceptionGenerates a (temporary) POM file from the plugin configuration. It's the responsibility of the caller to delete the generated file when no longer needed.- Returns:
- The path to the generated POM file, never
null. - Throws:
org.apache.maven.plugin.MojoExecutionException- If the POM file could not be generated.
-
getLocalRepositoryFile
private java.io.File getLocalRepositoryFile(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.artifact.Artifact artifact)Gets the path of the specified artifact within the local repository. Note that the returned path need not exist (yet).
-
getPomLocalRepositoryFile
private java.io.File getPomLocalRepositoryFile(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.artifact.Artifact artifact)Gets the path of the specified artifact POM within the local repository. Note that the returned path need not exist (yet).
-
isValidId
private boolean isValidId(java.lang.String id)
Returnstrueif passed in string is "valid Maven ID" (groupId or artifactId).
-
isValidVersion
private boolean isValidVersion(java.lang.String version)
Returnstrueif passed in string is "valid Maven (simple. non range, expression, etc) version".
-
-