Package org.gradle.api

# Interface BuildableComponentSpec

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

All Known Subinterfaces:
  `ApplicationBinarySpec`, `AssemblerSourceSet`, `BinarySpec`, `CppSourceSet`, `CSourceSet`, `CUnitTestSuiteBinarySpec`, `DependentSourceSet`, `DependentSourceSet`, `GoogleTestTestSuiteBinarySpec`, `HeaderExportingSourceSet`, `LanguageSourceSet`, `LibraryBinarySpec`, `NativeBinarySpec`, `NativeExecutableBinarySpec`, `NativeLibraryBinarySpec`, `NativeResourceSet`, `NativeTestSuiteBinarySpec`, `ObjectiveCppSourceSet`, `ObjectiveCSourceSet`, `SharedLibraryBinarySpec`, `StaticLibraryBinarySpec`, `TestSuiteBinarySpec`, `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(@Nullable 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()