# ComponentModuleMetadataHandler

API Documentation: | `ComponentModuleMetadataHandler`

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

Allows to modify the metadata of depended-on software components.

Example:

    dependencies {
        modules {
            //Configuring component module metadata for the entire "google-collections" module,
            // declaring that legacy library was replaced with "guava".
            //This way, Gradle's conflict resolution can use this information and use "guava"
            // in case both libraries appear in the same dependency tree.
            module("com.google.collections:google-collections") {
                replacedBy("com.google.guava:guava")
            }
        }
    }

### Properties

No properties

### Methods

Method | Description
`module(moduleNotation, rule)` | Incubating Enables configuring component module metadata. This metadata applies to the entire component module (e.g. "group:name", like "org.gradle:gradle-core") regardless of the component version.

### Script blocks

No script blocks

### Method details

#### `void` `module`(`Object` moduleNotation, ``Action`<? super `ComponentModuleMetadata`>` rule)

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

Enables configuring component module metadata. This metadata applies to the entire component module (e.g. "group:name", like "org.gradle:gradle-core") regardless of the component version.

    //declaring that google collections are replaced by guava
    //so that conflict resolution can take advantage of this information:
    dependencies.modules.module('com.google.collections:google-collections') { replacedBy('com.google.guava:guava') }