MavenPom

API Documentation:MavenPom

The POM for a Maven publication.

The MavenPom.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. MavenPom.getDescription(). Please refer to the official POM Reference for detailed information about the individual properties.

Properties

PropertyDescription
description

A short, human-readable description for the publication represented by this POM.

inceptionYear

The year the project producing the publication represented by this POM was first created.

name

The name for the publication represented by this POM.

packaging

The packaging (for example: jar, war) for the publication represented by this POM.

url

The URL of the home page for the project producing the publication represented by this POM.

Methods

MethodDescription
ciManagement(action)

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

contributors(action)

Configures the contributors for the publication represented by this POM.

developers(action)

Configures the developers for the publication represented by this POM.

distributionManagement(action)

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

issueManagement(action)

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

licenses(action)

Configures the licenses for the publication represented by this POM.

mailingLists(action)

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

organization(action)

Configures the organization for the publication represented by this POM.

scm(action)

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

withXml(action)

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

Script blocks

No script blocks

Property details

Property<String> description

A short, human-readable description for the publication represented by this POM.

Property<String> inceptionYear

The year the project producing the publication represented by this POM was first created.

The name for the publication represented by this POM.

String packaging

The packaging (for example: jar, war) for the publication represented by this POM.

The URL of the home page for the project producing the publication represented by this POM.

Method details

void ciManagement(Action<? super MavenPomCiManagement> action)

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

void contributors(Action<? super MavenPomContributorSpec> action)

Configures the contributors for the publication represented by this POM.

void developers(Action<? super MavenPomDeveloperSpec> action)

Configures the developers for the publication represented by this POM.

void distributionManagement(Action<? super MavenPomDistributionManagement> action)

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

void issueManagement(Action<? super MavenPomIssueManagement> action)

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

void licenses(Action<? super MavenPomLicenseSpec> action)

Configures the licenses for the publication represented by this POM.

void mailingLists(Action<? super MavenPomMailingListSpec> action)

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

void organization(Action<? super MavenPomOrganization> action)

Configures the organization for the publication represented by this POM.

void scm(Action<? super MavenPomScm> action)

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

void withXml(Action<? super XmlProvider> action)

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

plugins {
    id '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.