# Interface GeneralComponentSpec

All Superinterfaces:
  `ComponentSpec, ModelElement, Named, SourceComponentSpec, VariantComponent, VariantComponentSpec`

All Known Subinterfaces:
  `ApplicationSpec, CUnitTestSuiteSpec, GoogleTestTestSuiteSpec, LibrarySpec, NativeExecutableSpec, NativeLibrarySpec, NativeTestSuiteSpec, TestSuiteSpec`

All Known Implementing Classes:
  `BaseComponentSpec`

@Incubating @Deprecated public interface GeneralComponentSpec extends ComponentSpec, SourceComponentSpec, VariantComponentSpec
Deprecated.
The Gradle software model is deprecated and will be removed in Gradle 10. Use the new component model (e.g. `cpp-application`, `cpp-library`, `swift-application`, `swift-library`, `xctest`) instead.
A general purpose component specification, that can be used to represent some software component built from source and producing multiple output variants.

Since:
  2.12

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Method Summary

  ### Methods inherited from interface ComponentSpec

  `getProjectPath`

  ### Methods inherited from interface ModelElement

  `getDisplayName`

  ### Methods inherited from interface SourceComponentSpec

  `getSources`

  ### Methods inherited from interface VariantComponent

  `getName, getVariants`

  ### Methods inherited from interface VariantComponentSpec

  `getBinaries`