@NonNullApi

# Package org.gradle.api.component

Types for declaring and using Software Components.

Since:
  1.4

- Interface Summary
  Interface | Description
  --- | ---
  AdhocComponentWithVariants | A component which can declare additional variants corresponding to features.
  Artifact | An artifact of a software component that may be requested in the result of an artifact query.
  BuildableComponent | Represents a component that can be built.
  Component | A software component that can be queried via the Artifact Query API.
  ComponentWithCoordinates | Represents a component that determines its publication coordinates.
  ComponentWithVariants | Represents a `SoftwareComponent` that provides one or more mutually exclusive children, or variants.
  ConfigurationVariantDetails | The details object used to determine what to do with a configuration variant when publishing.
  PublishableComponent | Represents a component that can be published.
  SoftwareComponent | A software component produced by a Gradle software project.
  SoftwareComponentContainer | A Container that contains all of the Software Components produced by a Project.
  SoftwareComponentFactory | A software component factory is responsible for providing to plugins a way to create software components.
  SoftwareComponentVariant | A software component variant, which has a number of artifacts, dependencies, constraints and capabilities, and that can be published to various formats (Gradle metadata, POM, ivy.xml, ...)