# Class BaseComponentSpec

java.lang.Object
org.gradle.platform.base.component.internal.AbstractComponentSpec
org.gradle.platform.base.component.internal.DefaultComponentSpec
org.gradle.platform.base.component.BaseComponentSpec

All Implemented Interfaces:
  `Named, ModelElement, ComponentSpec, GeneralComponentSpec, org.gradle.platform.base.internal.ComponentSpecInternal, SourceComponentSpec, VariantComponent, VariantComponentSpec`

@Incubating @Deprecated public class BaseComponentSpec extends org.gradle.platform.base.component.internal.DefaultComponentSpec implements GeneralComponentSpec
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.
Base class that may be used for custom `GeneralComponentSpec` implementations. However, it is generally better to use an interface annotated with `Managed` and not use an implementation class at all.

Since:
  2.2

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class org.gradle.platform.base.component.internal.DefaultComponentSpec

  `org.gradle.platform.base.component.internal.DefaultComponentSpec.ComponentInfo`

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BaseComponentSpec()`
  Deprecated.
  Creates a new `BaseComponentSpec`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ModelMap<BinarySpec>`
  `getBinaries()`
  Deprecated.
  The variants produced for this component spec.
  `ModelMap<LanguageSourceSet>`
  `getSources()`
  Deprecated.
  The source sets for this component.
  `Iterable<Binary>`
  `getVariants()`
  Deprecated.
  The variants of this component.

  ### Methods inherited from class org.gradle.platform.base.component.internal.DefaultComponentSpec

  `create, getInfo`

  ### Methods inherited from class org.gradle.platform.base.component.internal.AbstractComponentSpec

  `getDisplayName, getIdentifier, getName, getProjectPath, getTypeName, toString`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface ComponentSpec

  `getProjectPath`

  ### Methods inherited from interface ModelElement

  `getDisplayName`

  ### Methods inherited from interface VariantComponent

  `getName`

- ## Constructor Details

  - ### BaseComponentSpec

    public BaseComponentSpec()
    Deprecated.
    Creates a new `BaseComponentSpec`.
    Since:
      2.2

- ## Method Details

  - ### getSources

    public ModelMap<LanguageSourceSet> getSources()
    Deprecated.
    Description copied from interface: `SourceComponentSpec`
    The source sets for this component.
    Specified by:
      `getSources` in interface `SourceComponentSpec`

  - ### getBinaries

    public ModelMap<BinarySpec> getBinaries()
    Deprecated.
    Description copied from interface: `VariantComponentSpec`
    The variants produced for this component spec.
    Specified by:
      `getBinaries` in interface `VariantComponentSpec`

  - ### getVariants

    public Iterable<Binary> getVariants()
    Deprecated.
    Description copied from interface: `VariantComponent`
    The variants of this component.
    Specified by:
      `getVariants` in interface `VariantComponent`