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

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and 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 Detail

    - #### 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()