# Interface Buildable

All Known Subinterfaces:
  `ApplicationBinarySpec, AssemblerSourceSet, BinarySpec, BuildableComponentSpec, ClassDirectoryBinarySpec, Classpath, CoffeeScriptSourceSet, ConfigurableFileCollection, ConfigurableFileTree, ConfigurablePublishArtifact, Configuration, CppSourceSet, CSourceSet, CUnitTestSuiteBinarySpec, DependencySet, DependentSourceSet, DependentSourceSet, FileCollection, FileCollectionDependency, FileTree, GoogleTestTestSuiteBinarySpec, HeaderExportingSourceSet, IvyArtifact, JarBinarySpec, JavaScriptSourceSet, JavaSourceSet, JUnitTestSuiteBinarySpec, JvmBinarySpec, JvmClasses, JvmResourceSet, JvmTestSuiteBinarySpec, LanguageSourceSet, LibraryBinarySpec, MavenArtifact, NativeBinarySpec, NativeExecutableBinarySpec, NativeLibraryBinarySpec, NativeResourceSet, NativeTestSuiteBinarySpec, ObjectiveCppSourceSet, ObjectiveCSourceSet, PlayApplicationBinarySpec, ProjectDependency, PublicAssets, PublishArtifact, PublishArtifactSet, RoutesSourceSet, ScalaLanguageSourceSet, SelfResolvingDependency, SharedLibraryBinarySpec, SourceDirectorySet, SourceSetOutput, StaticLibraryBinarySpec, TestSuiteBinarySpec, TextResource, TwirlSourceSet, 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.