# IvyModuleDescriptor

API Documentation: | `IvyModuleDescriptor`

Note: This class is incubating and may change in a future version of Gradle.

The descriptor of any Ivy publication.

Corresponds to the XML version of the Ivy Module Descriptor.

The `IvyModuleDescriptor.withXml()` method can be used to modify the descriptor after it has been generated according to the publication data.

### Properties

No properties

### Script blocks

No script blocks

### Methods

Method | Description
`withXml(action)` | Incubating Allow configuration of the descriptor, after it has been generated according to the input data.

### Method details

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

Note: This method is incubating and may change in a future version of Gradle.

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.