# Interface MavenPom

@Incubating public 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.

Since:
  1.4

## Method Summary

Modifier and Type
Method
Description
`String`
`getPackaging()`
Returns the packaging for this publication.
`void`
`setPackaging(String packaging)`
Sets the packaging for this publication.
`void`
`withXml(Action<? super XmlProvider> action)`
Allows configuration of the POM, after it has been generated according to the input data.

## Method Details

### withXml

void withXml(Action<? super XmlProvider> action)
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.

Parameters:
  `action` - The configuration action.
See Also:
  - `MavenPublication`
  - `XmlProvider`

### getPackaging

String getPackaging()
Returns the packaging for this publication.

### setPackaging

void setPackaging(String packaging)
Sets the packaging for this publication.