Package org.gradle.api.artifacts.maven

# Interface PomFilterContainer

All Known Subinterfaces:
  `GroovyMavenDeployer`, `MavenDeployer`, `MavenResolver`

public interface PomFilterContainer
Manages a set of `MavenPom` instances and their associated `PublishFilter` instances.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`DEFAULT_ARTIFACT_POM_NAME`

## Method Summary

Modifier and Type
Method
Description
`MavenPom`
`addFilter(String name, Closure filter)`
Adds a publish filter.
`MavenPom`
`addFilter(String name, PublishFilter publishFilter)`
If you want to deploy more than one artifact you need to define filters to select each of those artifacts.
`void`
`filter(Closure filter)`
Sets the default publish filter.
`PublishFilter`
`filter(String name)`
Returns a filter added with `addFilter(String, org.gradle.api.artifacts.maven.PublishFilter)`.
`Iterable<org.gradle.api.publication.maven.internal.PomFilter>`
`getActivePomFilters()`
`PublishFilter`
`getFilter()`
Returns the default filter being used.
`MavenPom`
`getPom()`
Returns the POM property of the custom filter.
`MavenPom`
`pom(Closure configureClosure)`
Configures the default POM by a closure.
`MavenPom`
`pom(String name)`
Returns the POM associated with a filter added with `addFilter(String, org.gradle.api.artifacts.maven.PublishFilter)`.
`MavenPom`
`pom(String name, Closure configureClosure)`
Configures a POM by a closure.
`MavenPom`
`pom(String name, Action<? super MavenPom> configureAction)`
Configures a POM by an action.
`MavenPom`
`pom(Action<? super MavenPom> configureAction)`
Configures the default POM by an action.
`void`
`setFilter(PublishFilter defaultFilter)`
Sets the default filter to be used.
`void`
`setPom(MavenPom defaultPom)`
Sets the default POM to be used.

## Field Details

### DEFAULT_ARTIFACT_POM_NAME

static final String DEFAULT_ARTIFACT_POM_NAME

See Also:
  - Constant Field Values

## Method Details

### getFilter

PublishFilter getFilter()
Returns the default filter being used. .

See Also:
  - `setFilter(org.gradle.api.artifacts.maven.PublishFilter)`

### setFilter

void setFilter(PublishFilter defaultFilter)

Sets the default filter to be used. This filter is active if no custom filters have been added (see `addFilter(String, org.gradle.api.artifacts.maven.PublishFilter)`). If at least one custom filter has been added the default filter is not used any longer.

The default for this property is `PublishFilter.ALWAYS_ACCEPT`. If there is only one artifact you are fine with this filter. If there is more than one artifact, deployment will lead to an exception, if you don't specify a filter that selects the artifact to deploy. If you want to deploy more than one artifact you have to use the (see `addFilter(String, org.gradle.api.artifacts.maven.PublishFilter)` method.

See Also:
  - `getFilter()`

### getPom

MavenPom getPom()
Returns the POM property of the custom filter. The POM property can be used to customize the POM generation. By default the properties of such a POM object are all null. Null means that Gradle will use default values for generating the Maven POM. Those default values are derived from the deployable artifact and from the project type (e.g. java, war, ...). If you explicitly set a POM property, Gradle will use those instead.

Returns:
  The Maven Pom

### setPom

void setPom(MavenPom defaultPom)

Sets the default POM to be used. This POM is active if no custom filters have been added (see `addFilter(String, org.gradle.api.artifacts.maven.PublishFilter)`). If at least one custom filter has been added the default POM is not used any longer.

Usually you don't need to set this property as the default value provides you a POM object you might use for configuration. By default the properties of such a POM object are all null. If they are null, Gradle will use default values for generating the Maven POM. Those default values are derived from the deployable artifact and from the project type (e.g. java, war, ...). If you explicitly set a POM property, Gradle will use this instead.

### addFilter

MavenPom addFilter(String name, PublishFilter publishFilter)
If you want to deploy more than one artifact you need to define filters to select each of those artifacts. The method returns a POM object associated with this filter, that allows you to customize the POM generation for the artifact selected by the filter.

Parameters:
  `name` - The name of the filter
  `publishFilter` - The filter to use
Returns:
  The POM associated with the filter

### addFilter

MavenPom addFilter(String name, Closure filter)
Adds a publish filter.

Parameters:
  `name` - The name of the filter
  `filter` - The filter
Returns:
  The Maven POM associated with the closure
See Also:
  - `PublishFilter`
  - `addFilter(String, org.gradle.api.artifacts.maven.PublishFilter)`

### filter

PublishFilter filter(String name)
Returns a filter added with `addFilter(String, org.gradle.api.artifacts.maven.PublishFilter)`.

Parameters:
  `name` - The name of the filter

### filter

void filter(Closure filter)
Sets the default publish filter.

Parameters:
  `filter` - The filter to be set
See Also:
  - `PublishFilter`
  - `setFilter(org.gradle.api.artifacts.maven.PublishFilter)`

### pom

MavenPom pom(String name)
Returns the POM associated with a filter added with `addFilter(String, org.gradle.api.artifacts.maven.PublishFilter)`.

Parameters:
  `name` - The name of the filter.

### pom

MavenPom pom(String name, Closure configureClosure)
Configures a POM by a closure. The closure statements are delegated to the POM object associated with the given name.

Returns:
  The POM object associated with the given name.
See Also:
  - `pom(String)`

### pom

MavenPom pom(Closure configureClosure)
Configures the default POM by a closure. The closure statements are delegated to the default POM.

Returns:
  The default POM.
See Also:
  - `getPom()`

### pom

MavenPom pom(String name, Action<? super MavenPom> configureAction)
Configures a POM by an action. The action is executed against the POM object associated with the given name.

Returns:
  The POM object associated with the given name.
Since:
  4.2
See Also:
  - `pom(String)`

### pom

MavenPom pom(Action<? super MavenPom> configureAction)
Configures the default POM by an action.

Returns:
  The default POM.
Since:
  4.2
See Also:
  - `getPom()`

### getActivePomFilters

Iterable<org.gradle.api.publication.maven.internal.PomFilter> getActivePomFilters()