# Package org.gradle.platform.base

@Incubating package org.gradle.platform.base
General purpose types for runtime support.

- Related Packages
  Package
  Description
  org.gradle.platform
  Types to define build environment.
  org.gradle.platform.base.binary
  General purpose types for binary support.
  org.gradle.platform.base.component
  General purpose types for library support.
  org.gradle.platform.base.plugins
  Base plugins for software model support.
- Class
  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.
  BinaryTasks
  Declares the tasks to build a custom `BinarySpec` binary.
  BinaryTasksCollection
  A collection of tasks associated to a binary
  ComponentBinaries
  Declares the binaries that should be built for a custom `ComponentSpec` type.
  ComponentSpec
  A software component that is built by Gradle.
  ComponentSpecContainer
  A container of software components.
  ComponentType
  Declares a custom `ComponentSpec` type.
  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.
  InvalidModelException
  Thrown when a component model is declared in an invalid way.
  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`.
  ModelInstantiationException
  Thrown when a model element cannot be instantiated for some reason.
  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.
  Variant
  Declares that a property represents a variant dimension.
  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.