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