Package org.gradle.api.artifacts.maven

## Interface MavenDeployer

- All Superinterfaces:
    `ArtifactRepository`, `MavenResolver`, `PomFilterContainer`
  All Known Subinterfaces:
    `GroovyMavenDeployer`

      public interface MavenDeployer
      extends MavenResolver

  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

- - ### Field Summary

    - ### Fields inherited from interface org.gradle.api.artifacts.maven.PomFilterContainer

      `DEFAULT_ARTIFACT_POM_NAME`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | 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.
    `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.

    - ### Methods inherited from interface org.gradle.api.artifacts.repositories.ArtifactRepository

      `content, getName, setName`

    - ### Methods inherited from interface org.gradle.api.artifacts.maven.MavenResolver

      `beforeDeployment, beforeDeployment, getSettings`

    - ### Methods inherited from interface org.gradle.api.artifacts.maven.PomFilterContainer

      `addFilter, addFilter, filter, filter, getActivePomFilters, getFilter, getPom, pom, pom, pom, pom, pom, setFilter, setPom`

- - ### Method Detail

    - #### getRepository

          Object getRepository()

      Returns the repository to be used for uploading artifacts.
      See Also:
        `setRepository(Object)`

    - #### setRepository

          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

    - #### getSnapshotRepository

          Object getSnapshotRepository()

      Returns the repository to be used for uploading snapshot artifacts.
      See Also:
        `setSnapshotRepository(Object)`

    - #### setSnapshotRepository

          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

    - #### addProtocolProviderJars

          void addProtocolProviderJars​(Collection<File> jars)

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