org.apache.maven.plugin.install

## Class AbstractInstallMojo

- java.lang.Object
- - org.apache.maven.plugin.AbstractMojo
  - - org.apache.maven.plugin.install.AbstractInstallMojo

All Implemented Interfaces:
  org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

Direct Known Subclasses:
  InstallFileMojo, InstallMojo

    public abstract class AbstractInstallMojo
    extends org.apache.maven.plugin.AbstractMojo

Common fields for installation mojos.

Version:
  $Id: AbstractInstallMojo.java 1355014 2012-06-28 13:51:23Z olamy $
Author:
  Brett Porter

### Field Summary

Fields
`protected org.apache.maven.artifact.factory.ArtifactFactory` `artifactFactory`
`protected boolean` `createChecksum` Flag whether to create checksums (MD5, SHA-1) or not.
`protected org.apache.maven.artifact.installer.ArtifactInstaller` `installer`
`protected org.apache.maven.artifact.repository.ArtifactRepository` `localRepository`
`protected org.codehaus.plexus.digest.Digester` `md5Digester` Digester for MD5.
`protected org.codehaus.plexus.digest.Digester` `sha1Digester` Digester for SHA-1.
`protected boolean` `updateReleaseInfo` Whether to update the metadata to make the artifact a release version.

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

`ROLE`

### Constructor Summary

Constructors
Constructor and Description
`AbstractInstallMojo()`

### Method Summary

Methods
`protected File` `getLocalRepoFile(org.apache.maven.artifact.Artifact artifact)` Gets the path of the specified artifact within the local repository.
`protected File` `getLocalRepoFile(org.apache.maven.artifact.metadata.ArtifactMetadata metadata)` Gets the path of the specified artifact metadata within the local repository.
`protected void` `installChecksums(org.apache.maven.artifact.Artifact artifact, Collection metadataFiles)` Installs the checksums for the specified artifact if this has been enabled in the plugin configuration.
`protected void` `installChecksums(Collection metadataFiles)` Installs the checksums for the specified metadata files.

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

`getLog, getPluginContext, setLog, setPluginContext`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.maven.plugin.Mojo

`execute`

### Field Detail

#### artifactFactory

    @Component
    protected org.apache.maven.artifact.factory.ArtifactFactory artifactFactory

#### installer

    @Component
    protected org.apache.maven.artifact.installer.ArtifactInstaller installer

#### localRepository

    @Parameter(property="localRepository",
               required=true,
               readonly=true)
    protected org.apache.maven.artifact.repository.ArtifactRepository localRepository

#### createChecksum

    @Parameter(property="createChecksum",
               defaultValue="false")
    protected boolean createChecksum

Flag whether to create checksums (MD5, SHA-1) or not.

Since:
  2.2

#### updateReleaseInfo

    @Parameter(property="updateReleaseInfo",
               defaultValue="false")
    protected boolean updateReleaseInfo

Whether to update the metadata to make the artifact a release version.

#### md5Digester

    @Component(hint="md5")
    protected org.codehaus.plexus.digest.Digester md5Digester

Digester for MD5.

#### sha1Digester

    @Component(hint="sha1")
    protected org.codehaus.plexus.digest.Digester sha1Digester

Digester for SHA-1.

### Constructor Detail

#### AbstractInstallMojo

    public AbstractInstallMojo()

### Method Detail

#### getLocalRepoFile

    protected 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`.

#### getLocalRepoFile

    protected File getLocalRepoFile(org.apache.maven.artifact.metadata.ArtifactMetadata metadata)

Gets the path of the specified artifact metadata within the local repository. Note that the returned path need not exist (yet).

Parameters:
  `metadata` - The artifact metadata whose local repo path should be determined, must not be `null`.
Returns:
  The absolute path to the artifact metadata when installed, never `null`.

#### installChecksums

    protected void installChecksums(org.apache.maven.artifact.Artifact artifact,
                        Collection metadataFiles)
                             throws org.apache.maven.plugin.MojoExecutionException

Installs the checksums for the specified artifact if this has been enabled in the plugin configuration. This method creates checksums for files that have already been installed to the local repo to account for on-the-fly generated/updated files. For example, in Maven 2.0.4- the `ProjectArtifactMetadata` did not install the original POM file (cf. MNG-2820). While the plugin currently requires Maven 2.0.6, we continue to hash the installed POM for robustness with regard to future changes like re-introducing some kind of POM filtering.

Parameters:
  `artifact` - The artifact for which to create checksums, must not be `null`.
  `metadataFiles` - The set where additional metadata files will be registered for later checksum installation, must not be `null`.
Throws:
  `org.apache.maven.plugin.MojoExecutionException` - If the checksums could not be installed.

#### installChecksums

    protected void installChecksums(Collection metadataFiles)
                             throws org.apache.maven.plugin.MojoExecutionException

Installs the checksums for the specified metadata files.

Parameters:
  `metadataFiles` - The collection of metadata files to install checksums for, must not be `null`.
Throws:
  `org.apache.maven.plugin.MojoExecutionException` - If the checksums could not be installed.