Package: org.gradle.api.artifacts.maven

## [Java] Interface MavenDeployer

- org.gradle.api.artifacts.repositories.ArtifactRepository

- All Superinterfaces:
    MavenResolver, PomFilterContainer, ArtifactRepository

  A resolver that can only be used for uploading artifacts to a Maven repository. If you use this resolver for getting dependencies from a Maven repository, an exception is thrown. This resolver support all aspects of Maven deployment, including snapshot deployment and metadata.xml manipulation.

  You have to specify at least one repository. Otherwise, if there is only one artifact, usually there is not more to do. If there is more than one artifact you have to decide what to do about this, as a Maven POM can only deal with one artifact. There are two strategies. If you want to deploy only one artifact you have to specify a filter to select this artifact. If you want to deploy more than one artifact, you have to specify filters which select each artifact. Associated with each filter is a separate configurable POM.

  You can create an instance of this type via the Upload.getRepositories container

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `interface PomFilterContainer` | `DEFAULT_ARTIFACT_POM_NAME`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `void` | `addProtocolProviderJars(Collection<File> jars)` Out of the box only uploading to the filesysten and via http is supported.
    `Object` | `getRepository()` Returns the repository to be used for uploading artifacts.
    `Object` | `getSnapshotRepository()` Returns the repository to be used for uploading snapshot artifacts.
    `boolean` | `isUniqueVersion()` Returns whether to assign snapshots a unique version comprised of the timestamp and build number, or to use the same version each time.
    `void` | `setRepository(Object repository)` Sets the repository to be used for uploading artifacts.
    `void` | `setSnapshotRepository(Object snapshotRepository)` Sets the repository to be used for uploading snapshot artifacts.
    `void` | `setUniqueVersion(boolean uniqueVersion)` Sets whether to assign snapshots a unique version comprised of the timestamp and build number, or to use the same version each time.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `interface MavenResolver` | `beforeDeployment, beforeDeployment, getSettings`
    `interface ArtifactRepository` | `getName, setName`
    `interface PomFilterContainer` | `addFilter, addFilter, filter, filter, getActivePomFilters, getFilter, getPom, pom, pom, pom, setFilter, setPom`

- - ### Method Detail

    - #### public void addProtocolProviderJars(Collection<File> jars)

      Out of the box only uploading to the filesysten and via http is supported. If other protocolls should be used, the appropriate Maven wagon jars have to be passed via this method.

    - #### public Object getRepository()

      Returns the repository to be used for uploading artifacts.

      See Also:
        setRepository(Object)

    - #### public Object getSnapshotRepository()

      Returns the repository to be used for uploading snapshot artifacts.

      See Also:
        setSnapshotRepository(Object)

    - #### public boolean isUniqueVersion()

      Returns whether to assign snapshots a unique version comprised of the timestamp and build number, or to use the same version each time. Defaults to true.

    - #### public void setRepository(Object repository)

      Sets the repository to be used for uploading artifacts. If getSnapshotRepository() is not set, this repository is also used for uploading snapshot artifacts.

      Parameters:
        `repository` - The repository to be used

    - #### public void setSnapshotRepository(Object snapshotRepository)

      Sets the repository to be used for uploading snapshot artifacts. If this is not set, the getRepository() is used for uploading snapshot artifacts.

      Parameters:
        `snapshotRepository` - The repository to be used

    - #### public void setUniqueVersion(boolean uniqueVersion)

      Sets whether to assign snapshots a unique version comprised of the timestamp and build number, or to use the same version each time. Defaults to true.