Class InstallMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.maven.plugins.install.InstallMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

@Mojo(name="install", defaultPhase=INSTALL, threadSafe=true) public class InstallMojo extends org.apache.maven.plugin.AbstractMojo
Installs the project's main artifact, and any other artifacts attached by other plugins in the lifecycle, to the local repository.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    private static enum 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private boolean
    Set this to true to allow incomplete project processing.
    private static final String
     
    private boolean
    Whether every project should be installed during its own install-phase or at the end of the multimodule build.
    private org.apache.maven.plugin.descriptor.PluginDescriptor
     
    private org.apache.maven.project.MavenProject
     
    private static final String
     
    private final org.eclipse.aether.RepositorySystem
     
    private org.apache.maven.execution.MavenSession
     
    private boolean
    Set this to true to bypass artifact installation.

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

    ROLE
  • Constructor Summary

    Constructors
    Constructor
    Description
    InstallMojo(org.eclipse.aether.RepositorySystem repositorySystem)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private boolean
    allProjectsMarked(List<org.apache.maven.project.MavenProject> projectsUsingPlugin)
     
    void
     
    private List<org.apache.maven.project.MavenProject>
    Returns the list of reactor projects that have this plugin configured, cached on first call.
    getState(org.apache.maven.project.MavenProject project)
     
    private boolean
    hasState(org.apache.maven.project.MavenProject project)
     
    private void
    installProject(org.eclipse.aether.installation.InstallRequest request)
     
    private boolean
    isFile(File file)
     
    private void
    processProject(org.apache.maven.project.MavenProject project, org.eclipse.aether.installation.InstallRequest request)
    Processes passed in MavenProject and prepares content of InstallRequest out of it.
    private void
     
    private boolean
    usingPlugin(org.apache.maven.project.MavenProject project)
     

    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

    • repositorySystem

      private final org.eclipse.aether.RepositorySystem repositorySystem
    • session

      @Parameter(defaultValue="${session}", required=true, readonly=true) private org.apache.maven.execution.MavenSession session
    • project

      @Parameter(defaultValue="${project}", readonly=true, required=true) private org.apache.maven.project.MavenProject project
    • pluginDescriptor

      @Parameter(defaultValue="${plugin}", required=true, readonly=true) private org.apache.maven.plugin.descriptor.PluginDescriptor pluginDescriptor
    • installAtEnd

      @Parameter(defaultValue="false", property="installAtEnd") private boolean installAtEnd
      Whether every project should be installed during its own install-phase or at the end of the multimodule build. If set to true and the build fails, none of the reactor projects is installed. (experimental)
      Since:
      2.5
    • skip

      @Parameter(property="maven.install.skip", defaultValue="false") private boolean skip
      Set this to true to bypass artifact installation. Use this for artifacts that do not need to be installed in the local repository.
      Since:
      2.4
    • allowIncompleteProjects

      @Parameter(defaultValue="false", property="allowIncompleteProjects") private boolean allowIncompleteProjects
      Set this to true to allow incomplete project processing. By default, such projects are forbidden and Mojo will fail to process them. Incomplete project is a Maven Project that has any other packaging than "pom" and has no main artifact packaged. In the majority of cases, what user really wants here is a project with "pom" packaging and some classified artifact attached (typical example is some assembly being packaged and attached with classifier).
      Since:
      3.1.1
    • INSTALL_PROCESSED_MARKER

      private static final String INSTALL_PROCESSED_MARKER
    • PROJECTS_USING_PLUGIN_KEY

      private static final String PROJECTS_USING_PLUGIN_KEY
  • Constructor Details

    • InstallMojo

      @Inject public InstallMojo(org.eclipse.aether.RepositorySystem repositorySystem)
  • Method Details

    • putState

      private void putState(InstallMojo.State state)
    • getState

      private InstallMojo.State getState(org.apache.maven.project.MavenProject project)
    • hasState

      private boolean hasState(org.apache.maven.project.MavenProject project)
    • getProjectsUsingPlugin

      private List<org.apache.maven.project.MavenProject> getProjectsUsingPlugin()
      Returns the list of reactor projects that have this plugin configured, cached on first call. The list is invariant during a build and is stored in the current project's plugin context to avoid recomputing it on every module invocation (O(N) total instead of O(N²)).
    • usingPlugin

      private boolean usingPlugin(org.apache.maven.project.MavenProject project)
    • execute

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

      private boolean allProjectsMarked(List<org.apache.maven.project.MavenProject> projectsUsingPlugin)
    • installProject

      private void installProject(org.eclipse.aether.installation.InstallRequest request) throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • processProject

      private void processProject(org.apache.maven.project.MavenProject project, org.eclipse.aether.installation.InstallRequest request) throws org.apache.maven.plugin.MojoExecutionException
      Processes passed in MavenProject and prepares content of InstallRequest out of it.
      Throws:
      org.apache.maven.plugin.MojoExecutionException - if project is badly set up.
    • isFile

      private boolean isFile(File file)