Package org.gradle.api.artifacts.dsl

# Interface ComponentModuleMetadataHandler

@Incubating public interface ComponentModuleMetadataHandler
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")
             }
         }
     }

Since:
  2.2

## Method Summary

Modifier and Type
Method
Description
`void`
`module(Object moduleNotation, Action<? super ComponentModuleMetadata> rule)`
Enables configuring component module metadata.

## Method Details

### module

void module(Object moduleNotation, Action<? super ComponentModuleMetadata> rule)
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') }

Parameters:
  `moduleNotation` - an identifier of the module. String "group:name", e.g. 'org.gradle:gradle-core' or an instance of `ModuleIdentifier`
  `rule` - a rule that applies to the components of the specified module
Since:
  2.2