api / org.gradle.api.artifacts.maven / PomFilterContainer

PomFilterContainer

interface PomFilterContainer

Manages a set of MavenPom instances and their associated PublishFilter instances.

Properties

DEFAULT_ARTIFACT_POM_NAME

static val DEFAULT_ARTIFACT_POM_NAME: String

Functions

addFilter

abstract fun addFilter(name: String, publishFilter: PublishFilter): MavenPom

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.

abstract fun addFilter(name: String, filter: Closure<Any>): MavenPom

Adds a publish filter.

filter

abstract fun filter(name: String): PublishFilter

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

abstract fun filter(filter: Closure<Any>): Unit

Sets the default publish filter.

getActivePomFilters

abstract fun getActivePomFilters(): MutableIterable<PomFilter>

getFilter

abstract fun getFilter(): PublishFilter

Returns the default filter being used. .

getPom

abstract fun getPom(): MavenPom

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.

pom

abstract fun pom(name: String): MavenPom

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

abstract fun pom(name: String, configureClosure: Closure<Any>): MavenPom

Configures a POM by a closure. The closure statements are delegated to the POM object associated with the given name.

abstract fun pom(configureClosure: Closure<Any>): MavenPom

Configures the default POM by a closure. The closure statements are delegated to the default POM.

abstract fun pom(name: String, configureAction: Action<in MavenPom>): MavenPom

Configures a POM by an action. The action is executed against the POM object associated with the given name.

abstract fun pom(configureAction: Action<in MavenPom>): MavenPom

Configures the default POM by an action.

setFilter

abstract fun setFilter(defaultFilter: PublishFilter): Unit

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.

setPom

abstract fun setPom(defaultPom: MavenPom): Unit

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.

Inheritors

MavenResolver

interface MavenResolver : ArtifactRepository, PomFilterContainer

An ArtifactRepository which can be used to publish artifacts to Maven repositories.