org.gradle.api.publish.ivy

## Interface IvyModuleDescriptorSpec

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

- - ### Method Summary

    Methods
    Modifier and Type | Method 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

    - #### withXml

          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`

    - #### getStatus

          @Nullable
          String getStatus()

      Returns the status for this publication.

    - #### setStatus

          void setStatus(@Nullable
                       String status)

      Sets the status for this publication.

    - #### getBranch

          @Nullable
          String getBranch()

      Returns the branch for this publication

    - #### setBranch

          void setBranch(@Nullable
                       String branch)

      Sets the branch for this publication

    - #### getExtraInfo

          IvyExtraInfoSpec getExtraInfo()

      Returns the extra info element spec for this publication

    - #### extraInfo

          void extraInfo(String namespace,
                       String elementName,
                       String value)

      Adds a new extra info element to the publication