# Interface ConfigurationVariantDetails

public interface ConfigurationVariantDetails
The details object used to determine what to do with a configuration variant when publishing.

This type also contains Maven specific information used to map the variant to a Maven POM file.

Since:
  5.3

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ConfigurationVariant`
  `getConfigurationVariant()`
  The configuration variant
  `void`
  `mapToMavenScope(String scope)`
  Provides information about how to publish to a Maven POM file.
  `void`
  `mapToOptional()`
  Provides information about the optional status of this added configuration variant.
  `void`
  `skip()`
  Marks this configuration variant as being skipped when publishing.

- ## Method Details

  - ### getConfigurationVariant

    ConfigurationVariant getConfigurationVariant()
    The configuration variant

  - ### skip

    void skip()
    Marks this configuration variant as being skipped when publishing.

  - ### mapToOptional

    void mapToOptional()
    Provides information about the optional status of this added configuration variant.
    - For the Maven world, this means that dependencies will be declared as `optional`.
    - For the Ivy world, this means that configuration marked optional will not be extended by the `default` configuration.

  - ### mapToMavenScope

    void mapToMavenScope(String scope)
    Provides information about how to publish to a Maven POM file. If nothing is said, Gradle will publish all dependencies from this configuration to the compile scope. It is preferable to give a mapping in order for consumers to get the right dependencies when asking for the API or the runtime of a component published as a POM file only. Note that Gradle will write Maven scopes in the following order:
    - compile dependencies
    - runtime dependencies
    - optional compile dependencies
    - optional runtime dependencies
    The mapping only applies to dependencies: dependency constraints will systematically be published as import scope.
    Parameters:
      `scope` - the Maven scope to use for dependencies found in this configuration variant