# Interface Category

All Superinterfaces:
  `Named`

public interface Category extends Named
This attribute describes the categories of variants for a given module.

Four values are found in published components:

- `library`: Indicates that the variant is a library, that usually means a binary and a set of dependencies
- `platform`: Indicates that the variant is a platform, that usually means a definition of dependency constraints
- `documentation`: Indicates that the variant is documentation of the software module
- `verification`: Indicates that the variant is output from a testing or code quality verification tool

One value is used for derivation. A `platform` variant can be consumed as a `enforced-platform` which means all the dependency information it provides is applied as `forced`.

Since:
  5.3

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Attribute<Category>`
  `CATEGORY_ATTRIBUTE`
  Of.
  `static final String`
  `DOCUMENTATION`
  The documentation category
  `static final String`
  `ENFORCED_PLATFORM`
  The enforced platform, usually a synthetic variant derived from the `platform`
  `static final String`
  `LIBRARY`
  The library category
  `static final String`
  `REGULAR_PLATFORM`
  The platform category
  `static final String`
  `VERIFICATION`
  The verification category, for variants which contain the results of running verification tasks (e.g.

- ## Method Summary

  ### Methods inherited from interface Named

  `getName`

- ## Field Details

  - ### CATEGORY_ATTRIBUTE

    static final Attribute<Category> CATEGORY_ATTRIBUTE
    Of.
    Since:
      5.3

  - ### LIBRARY

    static final String LIBRARY
    The library category
    Since:
      5.3
    See Also:
      - Constant Field Values

  - ### REGULAR_PLATFORM

    static final String REGULAR_PLATFORM
    The platform category
    Since:
      5.3
    See Also:
      - Constant Field Values

  - ### ENFORCED_PLATFORM

    static final String ENFORCED_PLATFORM
    The enforced platform, usually a synthetic variant derived from the `platform`
    Since:
      5.3
    See Also:
      - Constant Field Values

  - ### DOCUMENTATION

    static final String DOCUMENTATION
    The documentation category
    Since:
      5.6
    See Also:
      - Constant Field Values

  - ### VERIFICATION

    @Incubating static final String VERIFICATION
    The verification category, for variants which contain the results of running verification tasks (e.g. Test, Jacoco).

    Note that this category can not be published, and an error will result if any attempt is made to publish a configuration containing 'org.gradle.category=verification'.

    Since:
      7.4
    See Also:
      - Constant Field Values