@Incubating public interface ComponentMetadataHandler
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"]
}
}
}
}
| Modifier and Type | Method and Description |
|---|---|
void |
eachComponent(Action<? super ComponentMetadataDetails> rule)
Adds a rule to modify the metadata of depended-on software components.
|
void |
eachComponent(Closure<?> rule)
Adds a rule to modify the metadata of depended-on software components.
|
void eachComponent(Action<? super ComponentMetadataDetails> rule)
rule - the rule to be addedvoid eachComponent(Closure<?> rule)
The rule can declare one or multiple parameters, depending on which metadata it is interested in. The order of parameters is irrelevant. The following parameter types are supported:
ComponentMetadataDetails Core metadata which is provided for
every kind of component. When declaring this parameter, the type may be omitted.IvyModuleMetadata Additional Ivy-specific
metadata. Rules declaring this parameter will only be invoked for Ivy components.rule - the rule to be added