api / org.gradle.api.publish.maven / MavenPom

MavenPom

interface MavenPom

The POM for a Maven publication.

The #withXml(org.gradle.api.Action) method can be used to modify the descriptor after it has been generated according to the publication data. However, the preferred way to customize the project information to be published is to use the dedicated properties exposed by this class, e.g. #getDescription(). Please refer to the official POM Reference for detailed information about the individual properties.

Since
1.4

Functions

ciManagement

abstract fun ciManagement(action: Action<in MavenPomCiManagement>): Unit

Configures the CI management for the publication represented by this POM.

contributors

abstract fun contributors(action: Action<in MavenPomContributorSpec>): Unit

Configures the contributors for the publication represented by this POM.

developers

abstract fun developers(action: Action<in MavenPomDeveloperSpec>): Unit

Configures the developers for the publication represented by this POM.

distributionManagement

abstract fun distributionManagement(action: Action<in MavenPomDistributionManagement>): Unit

Configures the distribution management for the publication represented by this POM.

getDescription

abstract fun getDescription(): Property<String>

The description for the publication represented by this POM.

getInceptionYear

abstract fun getInceptionYear(): Property<String>

The year of the inception for the publication represented by this POM.

getName

abstract fun getName(): Property<String>

The name for the publication represented by this POM.

getPackaging

abstract fun getPackaging(): String

Returns the packaging for the publication represented by this POM.

getUrl

abstract fun getUrl(): Property<String>

The URL for the publication represented by this POM.

issueManagement

abstract fun issueManagement(action: Action<in MavenPomIssueManagement>): Unit

Configures the issue management for the publication represented by this POM.

licenses

abstract fun licenses(action: Action<in MavenPomLicenseSpec>): Unit

Configures the licenses for the publication represented by this POM.

mailingLists

abstract fun mailingLists(action: Action<in MavenPomMailingListSpec>): Unit

Configures the mailing lists for the publication represented by this POM.

organization

abstract fun organization(action: Action<in MavenPomOrganization>): Unit

Configures the organization for the publication represented by this POM.

scm

abstract fun scm(action: Action<in MavenPomScm>): Unit

Configures the SCM (source control management) for the publication represented by this POM.

setPackaging

abstract fun setPackaging(packaging: String): Unit

Sets the packaging for the publication represented by this POM.

withXml

abstract fun withXml(action: Action<in XmlProvider>): Unit

Allows configuration of the POM, after it has been generated according to the input data.

 apply plugin: "maven-publish" publishing { publications { maven(MavenPublication) { pom.withXml { asNode().appendNode('properties').appendNode('my-property', 'my-value') } } } } 
Note that due to Gradle's internal type conversion system, you can pass a Groovy closure to this method and it will be automatically converted to an Action.

Each action/closure passed to this method will be stored as a callback, and executed when the publication that this descriptor is attached to is published.

For details on the structure of the XML to be modified, see the POM reference.