Class 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 java.lang.String artifactId
      ArtifactId of the artifact to be deployed.
      private java.lang.String classifier
      Add classifier to the artifact
      private java.lang.String classifiers
      A comma separated list of classifiers for each of the extra side artifacts to deploy.
      private java.lang.String description
      Description passed to a generated POM file (in case of generatePom=true)
      private java.io.File file
      File to be deployed.
      private java.lang.String files
      A comma separated list of files for each of the extra side artifacts to deploy.
      private boolean generatePom
      Upload a POM for this artifact.
      private java.lang.String groupId
      GroupId of the artifact to be deployed.
      private java.io.File javadoc
      The bundled API docs for the artifact.
      private org.apache.maven.project.validation.ModelValidator modelValidator
      The component used to validate the user-supplied artifact coordinates.
      private java.lang.String packaging
      Type of the artifact to be deployed.
      private java.io.File pomFile
      Location of an existing POM file to be deployed alongside the main artifact, given by the ${file} parameter.
      private org.apache.maven.project.MavenProject project
      The default Maven project created when building the plugin
      private org.apache.maven.project.MavenProjectHelper projectHelper
      Used for attaching the source and javadoc jars to the project.
      private java.lang.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.
      private java.lang.String repositoryLayout
      The type of remote repository layout to deploy to.
      private java.io.File sources
      The bundled sources for the artifact.
      private java.lang.String types
      A comma separated list of types for each of the extra side artifacts to deploy.
      private boolean uniqueVersion
      Whether to deploy snapshots with a unique version or not.
      private java.lang.String url
      URL where the artifact will be deployed.
      private java.lang.String version
      Version of the artifact to be deployed.
      • Fields inherited from interface org.apache.maven.plugin.Mojo

        ROLE
    • Constructor Summary

      Constructors 
      Constructor Description
      DeployFileMojo()  
    • Field Detail

      • project

        @Parameter(defaultValue="${project}",
                   readonly=true,
                   required=true)
        private org.apache.maven.project.MavenProject project
        The default Maven project created when building the plugin
      • projectHelper

        @Component
        private org.apache.maven.project.MavenProjectHelper projectHelper
        Used for attaching the source and javadoc jars to the project.
      • groupId

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

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

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

        @Parameter(property="packaging")
        private java.lang.String packaging
        Type of the artifact to be deployed. Retrieved from the <packaging> 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.
      • description

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

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

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

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

        @Parameter(property="repositoryId",
                   defaultValue="remote-repository",
                   required=true)
        private java.lang.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.
      • repositoryLayout

        @Parameter(property="repositoryLayout",
                   defaultValue="default")
        private java.lang.String repositoryLayout
        The type of remote repository layout to deploy to. Try legacy for a Maven 1.x-style repository layout.
      • url

        @Parameter(property="url",
                   required=true)
        private java.lang.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 java.io.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 java.lang.String classifier
        Add classifier to the artifact
      • uniqueVersion

        @Parameter(property="uniqueVersion",
                   defaultValue="true")
        private boolean uniqueVersion
        Whether to deploy snapshots with a unique version or not.
      • modelValidator

        @Component
        private org.apache.maven.project.validation.ModelValidator modelValidator
        The component used to validate the user-supplied artifact coordinates.
      • types

        @Parameter(property="types")
        private java.lang.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 java.lang.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 java.lang.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.
    • Constructor Detail

      • DeployFileMojo

        public DeployFileMojo()
    • Method Detail

      • 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
      • getLocalRepoFile

        private java.io.File getLocalRepoFile​(org.apache.maven.artifact.Artifact artifact)
        Gets the path of the specified artifact within the local repository. Note that the returned path need not exist (yet).
        Parameters:
        artifact - The artifact whose local repo path should be determined, must not be null.
        Returns:
        The absolute path to the artifact when installed, never null.
      • 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​(java.io.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 of cannot be read.
      • generatePomFile

        private java.io.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.
      • validateArtifactInformation

        private void validateArtifactInformation()
                                          throws org.apache.maven.plugin.MojoExecutionException
        Validates the user-supplied artifact information.
        Throws:
        org.apache.maven.plugin.MojoExecutionException - If any artifact coordinate is invalid.
      • 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​(java.lang.String groupId)
      • setArtifactId

        void setArtifactId​(java.lang.String artifactId)
      • setVersion

        void setVersion​(java.lang.String version)
      • setPackaging

        void setPackaging​(java.lang.String packaging)
      • setPomFile

        void setPomFile​(java.io.File pomFile)
      • getGroupId

        java.lang.String getGroupId()
      • getArtifactId

        java.lang.String getArtifactId()
      • getVersion

        java.lang.String getVersion()
      • getPackaging

        java.lang.String getPackaging()
      • getFile

        java.io.File getFile()
      • getClassifier

        java.lang.String getClassifier()
      • setClassifier

        void setClassifier​(java.lang.String classifier)