Package: org.gradle.api.publish.ivy

## [Java] Interface IvyModuleDescriptorSpec

- The descriptor of any Ivy publication.

  Corresponds to the XML version of the Ivy Module Descriptor.

  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.3

- - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `void` | `extraInfo(String namespace, String elementName, String value)` Adds a new extra info element to the publication
    `String` | `getBranch()` Returns the branch for this publication
    `IvyExtraInfoSpec` | `getExtraInfo()` Returns the extra info element spec for this publication
    `String` | `getStatus()` Returns the status for this publication.
    `void` | `setBranch(String branch)` Sets the branch for this publication
    `void` | `setStatus(String status)` Sets the status for this publication.
    `void` | `withXml(Action<? super XmlProvider> action)` Allow configuration of the descriptor, after it has been generated according to the input data.

- - ### Method Detail

    - #### public void extraInfo(String namespace, String elementName, String value)

      Adds a new extra info element to the publication

    - #### @Nullable public String getBranch()

      Returns the branch for this publication

    - #### public IvyExtraInfoSpec getExtraInfo()

      Returns the extra info element spec for this publication

    - #### @Nullable public String getStatus()

      Returns the status for this publication.

    - #### public void setBranch(@Nullable String branch)

      Sets the branch for this publication

    - #### public void setStatus(@Nullable String status)

      Sets the status for this publication.

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

      Allow configuration of the descriptor, after it has been generated according to the input data.

           apply plugin: "ivy-publish"

           publishing {
             publications {
               ivy(IvyPublication) {
                 descriptor {
                   withXml {
                     asNode().dependencies.dependency.find { it.org:== "junit" }.@rev = "4.10"
                   }
                 }
               }
             }
           }

      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 Ivy Module Descriptor reference.

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