# MavenPom

API Documentation: | `MavenPom`

Note: This class is incubating and may change in a future version of Gradle.

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.

### Properties

Property | Description
`packaging` | Incubating The packaging for this publication.

### Methods

Method | Description
`withXml(action)` | Incubating Allows configuration of the POM, after it has been generated according to the input data.

### Script blocks

No script blocks

### Property details

#### `String` `packaging`

Note: This property is incubating and may change in a future version of Gradle.

The packaging for this publication.

### Method details

#### `void` `withXml`(``Action`<? super `XmlProvider`>` action)

Note: This method is incubating and may change in a future version of Gradle.

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('description', 'A demonstration of Maven POM customization')
          }
        }
      }
    }

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.