# 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 PomFilterContainer

`DEFAULT_ARTIFACT_POM_NAME`

## Method Summary

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

### Methods inherited from interface ArtifactRepository

`getName, setName`

### Methods inherited from interface MavenResolver

`beforeDeployment, beforeDeployment, getSettings`

### Methods inherited from interface PomFilterContainer

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

## Method Details

### 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 protocolls should be used, the appropriate Maven wagon jars have to be passed via this method.

### isUniqueVersion

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.

### setUniqueVersion

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.