Package org.gradle.api

# Interface BuildableComponentSpec

All Superinterfaces:
  `Buildable`, `ComponentSpec`, `ModelElement`, `Named`

All Known Subinterfaces:
  `ApplicationBinarySpec`, `AssemblerSourceSet`, `BinarySpec`, `ClassDirectoryBinarySpec`, `CoffeeScriptSourceSet`, `CppSourceSet`, `CSourceSet`, `CUnitTestSuiteBinarySpec`, `DependentSourceSet`, `DependentSourceSet`, `GoogleTestTestSuiteBinarySpec`, `HeaderExportingSourceSet`, `JarBinarySpec`, `JavaScriptSourceSet`, `JavaSourceSet`, `JUnitTestSuiteBinarySpec`, `JvmBinarySpec`, `JvmClasses`, `JvmResourceSet`, `JvmTestSuiteBinarySpec`, `LanguageSourceSet`, `LibraryBinarySpec`, `NativeBinarySpec`, `NativeExecutableBinarySpec`, `NativeLibraryBinarySpec`, `NativeResourceSet`, `NativeTestSuiteBinarySpec`, `ObjectiveCppSourceSet`, `ObjectiveCSourceSet`, `PlayApplicationBinarySpec`, `PublicAssets`, `RoutesSourceSet`, `ScalaLanguageSourceSet`, `SharedLibraryBinarySpec`, `StaticLibraryBinarySpec`, `TestSuiteBinarySpec`, `TwirlSourceSet`, `VisualStudioProject`, `VisualStudioSolution`, `WindowsResourceSet`

All Known Implementing Classes:
  `org.gradle.api.internal.AbstractBuildableComponentSpec`, `org.gradle.language.base.internal.AbstractLanguageSourceSet`, `BaseBinarySpec`, `BaseLanguageSourceSet`

@Incubating public interface BuildableComponentSpec extends Buildable, ComponentSpec
A `ComponentSpec` that is directly `Buildable` via a specified task.

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.gradle.api.Named

`Named.Namer`

## Method Summary

Modifier and Type
Method
Description
`void`
`builtBy(Object... tasks)`
Adds tasks required to build this component.
`Task`
`getBuildTask()`
Returns the task responsible for building this component.
`boolean`
`hasBuildDependencies()`
`void`
`setBuildTask(Task buildTask)`
Specifies the task responsible for building this component.

### Methods inherited from interface org.gradle.api.Buildable

`getBuildDependencies`

### Methods inherited from interface org.gradle.platform.base.ComponentSpec

`getProjectPath`

### Methods inherited from interface org.gradle.model.ModelElement

`getDisplayName, getName`

## Method Details

### getBuildTask

@Nullable Task getBuildTask()
Returns the task responsible for building this component.

### setBuildTask

void setBuildTask(Task buildTask)
Specifies the task responsible for building this component.

### builtBy

void builtBy(Object... tasks)
Adds tasks required to build this component. Tasks added this way are subsequently added as dependencies of this component's `build task`.

### hasBuildDependencies

boolean hasBuildDependencies()