@Incubating

# Package org.gradle.platform.base

General purpose types for runtime support.

- Interface Summary
  Interface | Description
  --- | ---
  Application | A software application.
  ApplicationBinarySpec | A binary produced from a ``ApplicationSpec``.
  ApplicationSpec | A specification of a `Application`.
  Binary | A physical binary artifact, which can run on a particular platform or runtime.
  BinaryContainer | A container for project binaries, which represent physical artifacts that can run on a particular platform or runtime.
  BinarySpec | Represents a binary that is the result of building a component.
  BinaryTasksCollection | A collection of tasks associated to a binary
  ComponentSpec | A software component that is built by Gradle.
  ComponentSpecContainer | A container of software components.
  DependencySpec | A dependency onto a Gradle component.
  DependencySpecBuilder | A builder of a `DependencySpec`.
  DependencySpecContainer | A container for dependency specifications.
  GeneralComponentSpec | A general purpose component specification, that can be used to represent some software component built from source and producing multiple output variants.
  Library | A library that can be linked into or depended on by another software element.
  LibraryBinaryDependencySpec | A dependency onto a specific binary of a library published by a project.
  LibraryBinarySpec | A binary produced from a ``LibrarySpec``.
  LibrarySpec | A specification of a `Library`.
  ModuleDependencySpec | A dependency onto a module.
  ModuleDependencySpecBuilder | A builder of a `ModuleDependencySpec`.
  Platform | The platform or runtime that a binary is designed to run on.
  PlatformAwareComponentSpec | Defines Platform specific operations for ComponentSpecs
  PlatformContainer | A container of `Platform`s.
  ProjectDependencySpec | A dependency onto a library published by a project.
  ProjectDependencySpecBuilder | A builder of a `ProjectDependencySpec`.
  SourceComponentSpec | Represents some component whose implementation can be represented as a collection of source files, and whose other outputs are built from this source.
  ToolChain | A set of compilers that are used together to construct binaries.
  ToolChainRegistry<P extends Platform,​T extends ToolChain> | A Provider of `ToolChain`s.
  TransformationFileType | The type of a file of a transformation
  TypeBuilder<T> | A TypeBuilder to configure the registration of a type.
  VariantComponent | A component that has one or more mutually exclusive variants.
  VariantComponentSpec | Represents a component spec that is made up of one or more mutually exclusive variants.

- Exception Summary
  Exception | Description
  --- | ---
  InvalidModelException | Thrown when a component model is declared in an invalid way.
  ModelInstantiationException | Thrown when a model element cannot be instantiated for some reason.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  BinaryTasks | Declares the tasks to build a custom `BinarySpec` binary.
  ComponentBinaries | Declares the binaries that should be built for a custom `ComponentSpec` type.
  ComponentType | Declares a custom `ComponentSpec` type.
  Variant | Declares that a property represents a variant dimension.