# Interface ComponentSpec

All Superinterfaces:
  `ModelElement, Named`

All Known Subinterfaces:
  `ApplicationBinarySpec, ApplicationSpec, AssemblerSourceSet, BinarySpec, BuildableComponentSpec, CheckableComponentSpec, CppSourceSet, CSourceSet, CUnitTestSuiteBinarySpec, CUnitTestSuiteSpec, DependentSourceSet, DependentSourceSet, GeneralComponentSpec, GoogleTestTestSuiteBinarySpec, GoogleTestTestSuiteSpec, HeaderExportingSourceSet, LanguageSourceSet, LibraryBinarySpec, LibrarySpec, NativeBinarySpec, NativeComponentSpec, NativeExecutableBinarySpec, NativeExecutableSpec, NativeLibraryBinarySpec, NativeLibrarySpec, NativeResourceSet, NativeTestSuiteBinarySpec, NativeTestSuiteSpec, ObjectiveCppSourceSet, ObjectiveCSourceSet, PlatformAwareComponentSpec, SharedLibraryBinarySpec, SourceComponentSpec, StaticLibraryBinarySpec, TargetedNativeComponent, TestSuiteBinarySpec, TestSuiteSpec, VariantComponentSpec, WindowsResourceSet`

All Known Implementing Classes:
  `org.gradle.api.internal.AbstractBuildableComponentSpec, org.gradle.platform.base.component.internal.AbstractComponentSpec, org.gradle.language.base.internal.AbstractLanguageSourceSet, BaseBinarySpec, BaseComponentSpec, BaseLanguageSourceSet, org.gradle.platform.base.component.internal.DefaultComponentSpec`

@Incubating public interface ComponentSpec extends ModelElement
A software component that is built by Gradle.

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getProjectPath()`
  The path to the project containing this component.

  ### Methods inherited from interface ModelElement

  `getDisplayName, getName`

- ## Method Details

  - ### getProjectPath

    String getProjectPath()
    The path to the project containing this component.