Package: org.gradle.api.publish.maven

## [Java] 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

- - ### Methods Summary

    Methods
    Type | Name and 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 Detail

    - #### public String getPackaging()

      Returns the packaging for this publication.

    - #### public void setPackaging(String packaging)

      Sets the packaging for this publication.

    - #### public 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