org.gradle.api.artifacts

## Interface ComponentMetadataDetails

- All Superinterfaces:
    ComponentMetadata, HasAttributes, HasConfigurableAttributes<ComponentMetadataDetails>

      @Incubating
       @NonExtensible
      public interface ComponentMetadataDetails
      extends ComponentMetadata, HasConfigurableAttributes<ComponentMetadataDetails>

  Describes a resolved component's metadata, which typically originates from a component descriptor (Ivy file, Maven POM). Some parts of the metadata can be changed via metadata rules (see `ComponentMetadataHandler`.
  Since:
    1.8

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `allVariants(Action<? super VariantMetadata> action)` Add a rule for adjusting all variants of a component.
    `void` | `setChanging(boolean changing)` Sets whether the component is changing or immutable.
    `void` | `setStatus(String status)` Sets the status of the component.
    `void` | `setStatusScheme(List<String> statusScheme)` Sets the status scheme of the component.
    `void` | `withVariant(String name, Action<? super VariantMetadata> action)` Add a rule for adjusting an existing variant of the component.

    - ### Methods inherited from interface org.gradle.api.artifacts.ComponentMetadata

      `getId, getStatus, getStatusScheme, isChanging`

    - ### Methods inherited from interface org.gradle.api.attributes.HasConfigurableAttributes

      `attributes`

    - ### Methods inherited from interface org.gradle.api.attributes.HasAttributes

      `getAttributes`

- - ### Method Detail

    - #### setChanging

          void setChanging(boolean changing)

      Sets whether the component is changing or immutable.
      Parameters:
        `changing` - whether the component is changing or immutable

    - #### setStatus

          void setStatus(String status)

      Sets the status of the component. Must match one of the values in `ComponentMetadata.getStatusScheme()`.
      Parameters:
        `status` - the status of the component

    - #### setStatusScheme

          void setStatusScheme(List<String> statusScheme)

      Sets the status scheme of the component. Values are ordered from least to most mature status.
      Parameters:
        `statusScheme` - the status scheme of the component

    - #### withVariant

          void withVariant(String name,
                           Action<? super VariantMetadata> action)

      Add a rule for adjusting an existing variant of the component.
      Parameters:
        `name` - name of the variant to adjust (e.g. 'compile')
        `action` - the action to modify the variant
      Since:
        4.4

    - #### allVariants

          void allVariants(Action<? super VariantMetadata> action)

      Add a rule for adjusting all variants of a component.
      Parameters:
        `action` - the action to be executed on each variant.
      Since:
        4.5