# Category

interface Category : Named(source)

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

## Properties

CATEGORY_ATTRIBUTE
Link copied to clipboard
val CATEGORY_ATTRIBUTE: Attribute<Category>
DOCUMENTATION
Link copied to clipboard
val DOCUMENTATION: String = "documentation"
The documentation category
ENFORCED_PLATFORM
Link copied to clipboard
val ENFORCED_PLATFORM: String = "enforced-platform"
The enforced platform, usually a synthetic variant derived from the `platform`
LIBRARY
Link copied to clipboard
val LIBRARY: String = "library"
The library category
REGULAR_PLATFORM
Link copied to clipboard
val REGULAR_PLATFORM: String = "platform"
The platform category
VERIFICATION
Link copied to clipboard
@Incubating
val VERIFICATION: String = "verification"
The verification category, for variants which contain the results of running verification tasks (e.g.

## Functions

getName
Link copied to clipboard
abstract fun getName(): String
The object's name.