Package org.gradle.api.publish.ivy

## Interface IvyModuleDescriptorSpec

-     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. However, the preferred way to customize the project information to be published is to use the dedicated configuration methods exposed by this class, e.g. `description(Action)`.

  Since:
    1.3

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `author​(Action<? super IvyModuleDescriptorAuthor> action)` | Creates, configures and adds an author to this publication.
    `void` | `description​(Action<? super IvyModuleDescriptorDescription> action)` | Configures the description for this publication.
    `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` | `license​(Action<? super IvyModuleDescriptorLicense> action)` | Creates, configures and adds a license to 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.

           plugins {
               id '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

    - #### license

          void license​(Action<? super IvyModuleDescriptorLicense> action)

      Creates, configures and adds a license to this publication.
      Since:
        4.8

    - #### author

          void author​(Action<? super IvyModuleDescriptorAuthor> action)

      Creates, configures and adds an author to this publication.
      Since:
        4.8

    - #### description

          void description​(Action<? super IvyModuleDescriptorDescription> action)

      Configures the description for this publication.
      Since:
        4.8