org.gradle.api.artifacts.dsl

## Interface ComponentMetadataHandler

-     @Incubating
      public interface ComponentMetadataHandler

  Allows to modify the metadata of depended-on software components.

  Example:

       dependencies {
           components {
               eachComponent { ComponentMetadataDetails details ->
                   if (details.id.group == "org.foo") {
                       def version = details.id.version
                       // assuming status is last part of version string
                       details.status = version.substring(version.lastIndexOf("-") + 1)
                       details.statusScheme = ["bronze", "silver", "gold", "platinum"]
                   }
               }
           }
       }

  Since:
    1.8

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `eachComponent(Action<? super ComponentMetadataDetails> rule)` Adds a rule to modify the metadata of depended-on software components.

- - ### Method Detail

    - #### eachComponent

          void eachComponent(Action<? super ComponentMetadataDetails> rule)

      Adds a rule to modify the metadata of depended-on software components. For example, this allows to set a component's status and status scheme from within the build script, overriding any value specified in the component descriptor.
      Parameters:
        `rule` - the rule to be added