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