Package: org.gradle.api.artifacts.dsl

## [Java] 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

- - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `void` | `module(Object moduleNotation, Action<? super ComponentModuleMetadata> rule)` Enables configuring component module metadata.

- - ### Method Detail

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