Interface ComponentModuleMetadataHandler


  • 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 Detail

      • module

        void module​(java.lang.Object moduleNotation,
                    Action<? super ComponentModuleMetadataDetails> 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