# Package-level declarations

General purpose types for runtime support.

## Types

Application
Link copied to clipboard
@Incubating
interface Application : Component
A software application.
ApplicationBinarySpec
Link copied to clipboard
@Incubating
interface ApplicationBinarySpec : BinarySpec
A binary produced from a `org.gradle.platform.base.ApplicationSpec`.
ApplicationSpec
Link copied to clipboard
@Incubating
interface ApplicationSpec : GeneralComponentSpec
A specification of a org.gradle.platform.base.Application.
Binary
Link copied to clipboard
@Incubating
interface Binary
A physical binary artifact, which can run on a particular platform or runtime.
BinaryContainer
Link copied to clipboard
@Incubating
interface BinaryContainer : ModelMap<T>
A container for project binaries, which represent physical artifacts that can run on a particular platform or runtime.
BinarySpec
Link copied to clipboard
@Incubating
interface BinarySpec : BuildableComponentSpec, CheckableComponentSpec, Binary
Represents a binary that is the result of building a component.
BinaryTasks
Link copied to clipboard
@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = ElementType.METHOD)
@Incubating
annotation class BinaryTasks
Declares the tasks to build a custom org.gradle.platform.base.BinarySpec binary.
BinaryTasksCollection
Link copied to clipboard
@Incubating
interface BinaryTasksCollection : DomainObjectSet<T>
A collection of tasks associated to a binary
ComponentBinaries
Link copied to clipboard
@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = ElementType.METHOD)
@Incubating
annotation class ComponentBinaries
Declares the binaries that should be built for a custom org.gradle.platform.base.ComponentSpec type.
ComponentSpec
Link copied to clipboard
@Incubating
interface ComponentSpec : ModelElement
A software component that is built by Gradle.
ComponentSpecContainer
Link copied to clipboard
@Incubating
interface ComponentSpecContainer : ModelMap<T>
A container of software components.
ComponentType
Link copied to clipboard
@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = ElementType.METHOD)
@Incubating
annotation class ComponentType
Declares a custom org.gradle.platform.base.ComponentSpec type.
DependencySpec
Link copied to clipboard
@Incubating
interface DependencySpec
A dependency onto a Gradle component.
DependencySpecBuilder
Link copied to clipboard
@Incubating
interface DependencySpecBuilder
A builder of a DependencySpec.
DependencySpecContainer
Link copied to clipboard
@Incubating
interface DependencySpecContainer
A container for dependency specifications.
GeneralComponentSpec
Link copied to clipboard
@Incubating
interface GeneralComponentSpec : ComponentSpec, SourceComponentSpec, VariantComponentSpec
A general purpose component specification, that can be used to represent some software component built from source and producing multiple output variants.
InvalidModelException
Link copied to clipboard
@Incubating
open class InvalidModelException : GradleException
Thrown when a component model is declared in an invalid way.
Library
Link copied to clipboard
@Incubating
interface Library : Component
A library that can be linked into or depended on by another software element.
LibraryBinaryDependencySpec
Link copied to clipboard
@Incubating
interface LibraryBinaryDependencySpec : DependencySpec
A dependency onto a specific binary of a library published by a project.
LibraryBinarySpec
Link copied to clipboard
@Incubating
interface LibraryBinarySpec : BinarySpec
A binary produced from a `org.gradle.platform.base.LibrarySpec`.
LibrarySpec
Link copied to clipboard
@Incubating
interface LibrarySpec : GeneralComponentSpec
A specification of a org.gradle.platform.base.Library.
ModelInstantiationException
Link copied to clipboard
@Incubating
open class ModelInstantiationException : GradleException
Thrown when a model element cannot be instantiated for some reason.
ModuleDependencySpec
Link copied to clipboard
@Incubating
interface ModuleDependencySpec : DependencySpec
A dependency onto a module.
ModuleDependencySpecBuilder
Link copied to clipboard
@Incubating
interface ModuleDependencySpecBuilder : DependencySpecBuilder
A builder of a ModuleDependencySpec.
Platform
Link copied to clipboard
interface Platform : Named
The platform or runtime that a binary is designed to run on.
PlatformAwareComponentSpec
Link copied to clipboard
@Incubating
interface PlatformAwareComponentSpec : VariantComponentSpec
Defines Platform specific operations for ComponentSpecs
PlatformContainer
Link copied to clipboard
@Incubating
interface PlatformContainer : ExtensiblePolymorphicDomainObjectContainer<T>
A container of Platforms.
ProjectDependencySpec
Link copied to clipboard
@Incubating
interface ProjectDependencySpec : DependencySpec
A dependency onto a library published by a project.
ProjectDependencySpecBuilder
Link copied to clipboard
@Incubating
interface ProjectDependencySpecBuilder : DependencySpecBuilder
A builder of a ProjectDependencySpec.
SourceComponentSpec
Link copied to clipboard
@Incubating
interface SourceComponentSpec : ComponentSpec
Represents some component whose implementation can be represented as a collection of source files, and whose other outputs are built from this source.
ToolChain
Link copied to clipboard
interface ToolChain : Named
A set of compilers that are used together to construct binaries.
ToolChainRegistry
Link copied to clipboard
@Incubating
interface ToolChainRegistry<P : Platform?, T : ToolChain?>
A Provider of ToolChains.
TransformationFileType
Link copied to clipboard
@Incubating
interface TransformationFileType
The type of a file of a transformation
TypeBuilder
Link copied to clipboard
@Incubating
interface TypeBuilder<T>
A TypeBuilder to configure the registration of a type.
Variant
Link copied to clipboard
@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = ElementType.METHOD)
@Incubating
annotation class Variant
Declares that a property represents a variant dimension.
VariantComponent
Link copied to clipboard
@Incubating
interface VariantComponent : ModelElement
A component that has one or more mutually exclusive variants.
VariantComponentSpec
Link copied to clipboard
@Incubating
interface VariantComponentSpec : ComponentSpec, VariantComponent
Represents a component spec that is made up of one or more mutually exclusive variants.