# Interface CheckableComponentSpec

All Superinterfaces:
  `ComponentSpec, ModelElement, Named`

All Known Subinterfaces:
  `ApplicationBinarySpec, BinarySpec, CUnitTestSuiteBinarySpec, GoogleTestTestSuiteBinarySpec, LibraryBinarySpec, NativeBinarySpec, NativeExecutableBinarySpec, NativeLibraryBinarySpec, NativeTestSuiteBinarySpec, SharedLibraryBinarySpec, StaticLibraryBinarySpec, TestSuiteBinarySpec`

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

@Incubating public interface CheckableComponentSpec extends ComponentSpec
A `ComponentSpec` that is directly checkable via a specified task.

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `checkedBy(Object... tasks)`
  Adds tasks required to check this component.
  `@Nullable Task`
  `getCheckTask()`
  Returns the task responsible for checking this component.
  `void`
  `setCheckTask(@Nullable Task checkTask)`
  Specifies the task responsible for checking this component.

  ### Methods inherited from interface ComponentSpec

  `getProjectPath`

  ### Methods inherited from interface ModelElement

  `getDisplayName, getName`

- ## Method Details

  - ### getCheckTask

    @Nullable Task getCheckTask()
    Returns the task responsible for checking this component.

  - ### setCheckTask

    void setCheckTask(@Nullable Task checkTask)
    Specifies the task responsible for checking this component.

  - ### checkedBy

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