@Incubating

# Package org.gradle.platform.base

General purpose types for runtime support.

See: Description

- 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 artifact that is the result of building a project component.
  BinaryTasksCollection | A collection of tasks associated to a binary
  BinaryTypeBuilder<C extends BinarySpec> | Allows a plugin to register a custom binary type.
  ComponentSpec | A software component that is built by a Gradle project.
  ComponentSpecContainer | A container of software components.
  ComponentSpecIdentifier | An identifier for a `ComponentSpec`, which has a name.
  ComponentTypeBuilder<C extends ComponentSpec> | Allows a plugin to register a custom component type.
  DependencySpec | A dependency onto a Gradle component.
  DependencySpecBuilder | Interface for a dependency spec builder.
  DependencySpecContainer | A container for dependency specifications.
  LanguageTypeBuilder<T extends LanguageSourceSet> | Allows a plugin to register a custom language.
  Library | A library that can be linked into or depended on by another software element.
  LibraryBinarySpec | A binary produced from a ``LibrarySpec``.
  LibrarySpec | A specification of a `Library`.
  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.
  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<C> | A TypeBuilder to configure read the implementation class of a type.

- 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.
  BinaryType | Declares that a custom `BinarySpec` type.
  ComponentBinaries | Declares the binaries that should be built for a custom `ComponentSpec` type.
  ComponentType | Declares that a custom `ComponentSpec` type.
  LanguageType | The following example demonstrates how to register a custom language type using a plugin with a `LanguageType` annotation.
  Variant | Declares that a property represents a variant dimension.

## Package org.gradle.platform.base Description

General purpose types for runtime support.