# GeneralComponentSpec

@Incubating
interface GeneralComponentSpec : ComponentSpec, SourceComponentSpec, VariantComponentSpec(source)

### 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

#### Inheritors

TestSuiteSpec
LibrarySpec
ApplicationSpec
BaseComponentSpec

## Functions

getBinaries
Link copied to clipboard
abstract fun getBinaries(): ModelMap<BinarySpec>
The variants produced for this component spec.
getDisplayName
Link copied to clipboard
abstract fun getDisplayName(): String
Returns a human-consumable display name for this element.
getName
Link copied to clipboard
abstract fun getName(): String
Returns the name of this element.
getProjectPath
Link copied to clipboard
abstract fun getProjectPath(): String
The path to the project containing this component.
getSources
Link copied to clipboard
abstract fun getSources(): ModelMap<LanguageSourceSet>
The source sets for this component.
getVariants
Link copied to clipboard
abstract fun getVariants(): Iterable<out Binary>
The variants of this component.