# Package org.gradle.platform.base

## Package org.gradle.platform.base Description

General purpose types for runtime support. @Incubating

- 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 | 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 | 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 | 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 Platforms.
  ToolChain | A set of compilers that are used together to construct binaries.
  ToolChainRegistry | A Provider of ToolChains.
  TransformationFileType | The type of a file of a transformation
  TypeBuilder | 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 Type 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.