# Interface Buildable

All Known Subinterfaces:
  `AntlrSourceDirectorySet, ApplicationBinarySpec, AssemblerSourceSet, BinarySpec, BuildableComponentSpec, ConfigurableFileCollection, ConfigurableFileTree, ConfigurablePublishArtifact, Configuration, ConsumableConfiguration, CppSourceSet, CSourceSet, CUnitTestSuiteBinarySpec, DependencyScopeConfiguration, DependencySet, DependentSourceSet, DependentSourceSet, FileCollection, FileTree, GoogleTestTestSuiteBinarySpec, GroovySourceDirectorySet, HeaderExportingSourceSet, IvyArtifact, JvmTestSuite, LanguageSourceSet, LegacyConfiguration, LibraryBinarySpec, MavenArtifact, NativeBinarySpec, NativeExecutableBinarySpec, NativeLibraryBinarySpec, NativeResourceSet, NativeTestSuiteBinarySpec, ObjectiveCppSourceSet, ObjectiveCSourceSet, PublicationArtifact, PublishArtifact, PublishArtifactSet, ResolvableConfiguration, ScalaSourceDirectorySet, SharedLibraryBinarySpec, SourceDirectorySet, SourceSetOutput, StaticLibraryBinarySpec, TestSuiteBinarySpec, TextResource, VisualStudioProject, VisualStudioSolution, WindowsResourceSet`

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

public interface Buildable
A `Buildable` represents an artifact or set of artifacts which are built by one or more `Task` instances.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `TaskDependency`
  `getBuildDependencies()`
  Returns a dependency which contains the tasks which build this artifact.

- ## Method Details

  - ### getBuildDependencies

    TaskDependency getBuildDependencies()
    Returns a dependency which contains the tasks which build this artifact. All `Buildable` implementations must ensure that the returned dependency object is live, so that it tracks changes to the dependencies of this buildable.
    Returns:
      The dependency. Never returns null. Returns an empty dependency when this artifact is not built by any tasks.