Class DeployFileMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.maven.plugins.deploy.AbstractDeployMojo
org.apache.maven.plugins.deploy.DeployFileMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

@Mojo(name="deploy-file", requiresProject=false, threadSafe=true) public class DeployFileMojo extends AbstractDeployMojo
Installs the artifact in the remote repository.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private String
    ArtifactId of the artifact to be deployed.
    private String
    Add classifier to the artifact
    private String
    A comma separated list of classifiers for each of the extra side artifacts to deploy.
    private String
    Description passed to a generated POM file (in case of generatePom=true)
    private String
    Extension of the artifact to be deployed.
    private File
    File to be deployed.
    private String
    A comma separated list of files for each of the extra side artifacts to deploy.
    private boolean
    Upload a POM for this artifact.
    private String
    GroupId of the artifact to be deployed.
    private static final String
     
    private File
    The bundled API docs for the artifact.
    private final org.slf4j.Logger
     
    private String
    Type of the artifact to be deployed.
    private File
    Location of an existing POM file to be deployed alongside the main artifact, given by the ${file} parameter.
    private String
    Server Id to map on the <id> under <server> section of settings.xml In most cases, this parameter will be required for authentication.
    private String
    Set this to 'true' to bypass artifact deploy It's not a real boolean as it can have more than 2 values: true: will skip as usual releases: will skip if current version of the project is a release snapshots: will skip if current version of the project is a snapshot any other values will be considered as false
    private File
    The bundled sources for the artifact.
    private String
    A comma separated list of types for each of the extra side artifacts to deploy.
    private String
    URL where the artifact will be deployed.
    private String
    Version of the artifact to be deployed.

    Fields inherited from class AbstractDeployMojo

    repositorySystem, session

    Fields inherited from interface org.apache.maven.plugin.Mojo

    ROLE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    private org.apache.maven.model.Model
    Generates a minimal model from the user-supplied artifact information.
    private File
    Generates a minimal POM from the user-supplied artifact information.
    (package private) String
     
    (package private) String
     
    private String
    Specialization of FileUtils.getExtension(String) that honors various tar.xxx combinations.
    (package private) File
     
    (package private) String
     
    private File
    getLocalRepositoryFile(org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.artifact.Artifact artifact)
    Gets the path of the specified artifact within the local repository.
    (package private) String
     
    (package private) String
     
    (package private) void
     
    private boolean
    Returns true if passed in string is "valid Maven ID" (groupId or artifactId).
    private boolean
    Returns true if passed in string is "valid Maven (simple.
    private void
    processModel(org.apache.maven.model.Model model)
    Process the supplied pomFile to get groupId, artifactId, version, and packaging
    (package private) org.apache.maven.model.Model
    readModel(File pomFile)
    Extract the model from the specified POM file.
    (package private) void
    setArtifactId(String artifactId)
     
    (package private) void
    setClassifier(String classifier)
     
    (package private) void
    setGroupId(String groupId)
     
    (package private) void
    setPackaging(String packaging)
     
    (package private) void
    setPomFile(File pomFile)
     
    (package private) void
    setVersion(String version)
     

    Methods inherited from class org.apache.maven.plugin.AbstractMojo

    getLog, getPluginContext, setLog, setPluginContext

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • log

      private final org.slf4j.Logger log
    • groupId

      @Parameter(property="groupId") private String groupId
      GroupId of the artifact to be deployed. Retrieved from POM file if specified.
    • artifactId

      @Parameter(property="artifactId") private String artifactId
      ArtifactId of the artifact to be deployed. Retrieved from POM file if specified.
    • version

      @Parameter(property="version") private String version
      Version of the artifact to be deployed. Retrieved from POM file if specified.
    • packaging

      @Parameter(property="packaging") private String packaging
      Type of the artifact to be deployed. Retrieved from the <packaginginvalid input: '&gt' element of the POM file if a POM file specified. Defaults to the file extension if it is not specified via command line or POM.
      Maven uses two terms to refer to this datum: the <packaging> element for the entire POM, and the <type> element in a dependency specification.
    • extension

      @Parameter(property="extension") private String extension
      Extension of the artifact to be deployed. 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
    • description

      @Parameter(property="generatePom.description") private String description
      Description passed to a generated POM file (in case of generatePom=true)
    • file

      @Parameter(property="file", required=true) private File file
      File to be deployed.
    • javadoc

      @Parameter(property="javadoc") private File javadoc
      The bundled API docs for the artifact.
      Since:
      2.6
    • sources

      @Parameter(property="sources") private File sources
      The bundled sources for the artifact.
      Since:
      2.6
    • repositoryId

      @Parameter(property="repositoryId", defaultValue="remote-repository", required=true) private String repositoryId
      Server Id to map on the <id> under <server> section of settings.xml In most cases, this parameter will be required for authentication.
    • url

      @Parameter(property="url", required=true) private String url
      URL where the artifact will be deployed.
      ie ( file:///C:/m2-repo or scp://host.com/path/to/repo )
    • pomFile

      @Parameter(property="pomFile") private File pomFile
      Location of an existing POM file to be deployed alongside the main artifact, given by the ${file} parameter.
    • generatePom

      @Parameter(property="generatePom", defaultValue="true") private boolean generatePom
      Upload a POM for this artifact. Will generate a default POM if none is supplied with the pomFile argument.
    • classifier

      @Parameter(property="classifier") private String classifier
      Add classifier to the artifact
    • types

      @Parameter(property="types") private String types
      A comma separated list of types for each of the extra side artifacts to deploy. If there is a mis-match in the number of entries in files or classifiers, then an error will be raised.
    • classifiers

      @Parameter(property="classifiers") private String classifiers
      A comma separated list of classifiers for each of the extra side artifacts to deploy. If there is a mis-match in the number of entries in files or types, then an error will be raised.
    • files

      @Parameter(property="files") private String files
      A comma separated list of files for each of the extra side artifacts to deploy. If there is a mis-match in the number of entries in types or classifiers, then an error will be raised.
    • skip

      @Parameter(property="maven.deploy.file.skip", defaultValue="false") private String skip
      Set this to 'true' to bypass artifact deploy It's not a real boolean as it can have more than 2 values:
      • true: will skip as usual
      • releases: will skip if current version of the project is a release
      • snapshots: will skip if current version of the project is a snapshot
      • any other values will be considered as false
      Since:
      3.1.0
    • ILLEGAL_VERSION_CHARS

      private static final String ILLEGAL_VERSION_CHARS
      See Also:
  • Constructor Details

    • DeployFileMojo

      public DeployFileMojo()
  • Method Details

    • initProperties

      void initProperties() throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • execute

      public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
      org.apache.maven.plugin.MojoFailureException
    • getLocalRepositoryFile

      private 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).
    • processModel

      private void processModel(org.apache.maven.model.Model model)
      Process the supplied pomFile to get groupId, artifactId, version, and packaging
      Parameters:
      model - The POM to extract missing artifact coordinates from, must not be null.
    • readModel

      org.apache.maven.model.Model readModel(File pomFile) throws org.apache.maven.plugin.MojoExecutionException
      Extract the model from the specified POM file.
      Parameters:
      pomFile - The path of the POM file to parse, must not be null.
      Returns:
      The model from the POM file, never null.
      Throws:
      org.apache.maven.plugin.MojoExecutionException - If the file doesn't exist or cannot be read.
    • generatePomFile

      private File generatePomFile() throws org.apache.maven.plugin.MojoExecutionException
      Generates a minimal POM from the user-supplied artifact information.
      Returns:
      The path to the generated POM file, never null.
      Throws:
      org.apache.maven.plugin.MojoExecutionException - If the generation failed.
    • generateModel

      private org.apache.maven.model.Model generateModel()
      Generates a minimal model from the user-supplied artifact information.
      Returns:
      The generated model, never null.
    • setGroupId

      void setGroupId(String groupId)
    • setArtifactId

      void setArtifactId(String artifactId)
    • setVersion

      void setVersion(String version)
    • setPackaging

      void setPackaging(String packaging)
    • setPomFile

      void setPomFile(File pomFile)
    • getGroupId

      String getGroupId()
    • getArtifactId

      String getArtifactId()
    • getVersion

      String getVersion()
    • getPackaging

      String getPackaging()
    • getFile

      File getFile()
    • getClassifier

      String getClassifier()
    • setClassifier

      void setClassifier(String classifier)
    • getExtension

      private String getExtension(File file)
      Specialization of FileUtils.getExtension(String) that honors various tar.xxx combinations.
    • isValidId

      private boolean isValidId(String id)
      Returns true if passed in string is "valid Maven ID" (groupId or artifactId).
    • isValidVersion

      private boolean isValidVersion(String version)
      Returns true if passed in string is "valid Maven (simple. non range, expression, etc) version".