Package 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

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

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