org.gradle.platform.base.binary

## Class BaseBinarySpec

- java.lang.Object
- - org.gradle.platform.base.component.internal.AbstractComponentSpec
  - - org.gradle.api.internal.AbstractBuildableComponentSpec
    - - org.gradle.platform.base.binary.BaseBinarySpec

- All Implemented Interfaces:
    Buildable, BuildableComponentSpec, Named, ModelElement, BinarySpec, ComponentSpec, org.gradle.platform.base.internal.BinarySpecInternal, org.gradle.platform.base.internal.ComponentSpecInternal

      @Incubating
      public class BaseBinarySpec
      extends org.gradle.api.internal.AbstractBuildableComponentSpec
      implements org.gradle.platform.base.internal.BinarySpecInternal

  Base class that may be used for custom `BinarySpec` implementations. However, it is generally better to use an interface annotated with `Managed` and not use an implementation class at all.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.gradle.api.Named

      `Named.Namer`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BaseBinarySpec()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static <T extends BaseBinarySpec> T` | `create(Class<? extends BinarySpec> publicType, Class<T> implementationType, org.gradle.platform.base.internal.ComponentSpecIdentifier componentId, org.gradle.model.internal.core.MutableModelNode modelNode, org.gradle.model.internal.core.MutableModelNode componentNode, org.gradle.internal.reflect.Instantiator instantiator, org.gradle.api.internal.project.taskfactory.ITaskFactory taskFactory)`
    `protected org.gradle.platform.base.internal.BinaryBuildAbility` | `getBinaryBuildAbility()`
    `org.gradle.platform.base.internal.BinaryBuildAbility` | `getBuildAbility()`
    `ComponentSpec` | `getComponent()`
    `protected <T extends ComponentSpec> T` | `getComponentAs(Class<T> componentType)`
    `LibraryBinaryIdentifier` | `getId()`
    `DomainObjectSet<LanguageSourceSet>` | `getInputs()` Returns all inputs of the binary.
    `org.gradle.platform.base.internal.BinaryNamingScheme` | `getNamingScheme()`
    `String` | `getProjectScopedName()`
    `Class<? extends BinarySpec>` | `getPublicType()`
    `ModelMap<LanguageSourceSet>` | `getSources()` The sources owned by this binary.
    `BinaryTasksCollection` | `getTasks()` The set of tasks associated with this binary.
    `boolean` | `hasCodependentSources()`
    `boolean` | `isBuildable()` Can this binary be built in the current environment?
    `boolean` | `isLegacyBinary()`
    `static void` | `replaceSingleDirectory(Set<File> dirs, File dir)`
    `void` | `setBuildable(boolean buildable)`
    `void` | `setNamingScheme(org.gradle.platform.base.internal.BinaryNamingScheme namingScheme)`

    - ### Methods inherited from class org.gradle.api.internal.AbstractBuildableComponentSpec

      `builtBy, getBuildDependencies, getBuildTask, hasBuildDependencies, setBuildTask`

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

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

    - ### Methods inherited from class java.lang.Object

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

    - ### Methods inherited from interface org.gradle.api.BuildableComponentSpec

      `builtBy, getBuildTask, hasBuildDependencies, setBuildTask`

    - ### Methods inherited from interface org.gradle.api.Buildable

      `getBuildDependencies`

    - ### Methods inherited from interface org.gradle.platform.base.ComponentSpec

      `getProjectPath`

    - ### Methods inherited from interface org.gradle.model.ModelElement

      `getDisplayName, getName`

- - ### Constructor Detail

    - #### BaseBinarySpec

          public BaseBinarySpec()

  - ### Method Detail

    - #### create

          public static <T extends BaseBinarySpec> T create(Class<? extends BinarySpec> publicType,
                                            Class<T> implementationType,
                                            org.gradle.platform.base.internal.ComponentSpecIdentifier componentId,
                                            org.gradle.model.internal.core.MutableModelNode modelNode,
                                            @Nullable
                                            org.gradle.model.internal.core.MutableModelNode componentNode,
                                            org.gradle.internal.reflect.Instantiator instantiator,
                                            org.gradle.api.internal.project.taskfactory.ITaskFactory taskFactory)

    - #### getId

          public LibraryBinaryIdentifier getId()

      Specified by:
        `getId` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### getPublicType

          public Class<? extends BinarySpec> getPublicType()

      Specified by:
        `getPublicType` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### getComponent

          @Nullable
          public ComponentSpec getComponent()

      Specified by:
        `getComponent` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### getComponentAs

          @Nullable
          protected <T extends ComponentSpec> T getComponentAs(Class<T> componentType)

    - #### getProjectScopedName

          public String getProjectScopedName()

      Specified by:
        `getProjectScopedName` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### setBuildable

          public void setBuildable(boolean buildable)

      Specified by:
        `setBuildable` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### isBuildable

          public final boolean isBuildable()

      Description copied from interface: `BinarySpec`
      Can this binary be built in the current environment?
      Specified by:
        `isBuildable` in interface `BinarySpec`

    - #### getInputs

          public DomainObjectSet<LanguageSourceSet> getInputs()

      Description copied from interface: `BinarySpec`
      Returns all inputs of the binary. This includes source sets owned by the binary, and other source sets created elsewhere (e.g. inherited from the binary's component).
      Specified by:
        `getInputs` in interface `BinarySpec`
      Returns:
        all inputs of the binary.

    - #### getSources

          public ModelMap<LanguageSourceSet> getSources()

      Description copied from interface: `BinarySpec`
      The sources owned by this binary.
      Specified by:
        `getSources` in interface `BinarySpec`
      Returns:
        the sources owned by the binary.

    - #### getTasks

          public BinaryTasksCollection getTasks()

      Description copied from interface: `BinarySpec`
      The set of tasks associated with this binary.
      Specified by:
        `getTasks` in interface `BinarySpec`

    - #### isLegacyBinary

          public boolean isLegacyBinary()

      Specified by:
        `isLegacyBinary` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### getNamingScheme

          public org.gradle.platform.base.internal.BinaryNamingScheme getNamingScheme()

      Specified by:
        `getNamingScheme` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### setNamingScheme

          public void setNamingScheme(org.gradle.platform.base.internal.BinaryNamingScheme namingScheme)

      Specified by:
        `setNamingScheme` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### hasCodependentSources

          public boolean hasCodependentSources()

      Specified by:
        `hasCodependentSources` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### getBuildAbility

          public final org.gradle.platform.base.internal.BinaryBuildAbility getBuildAbility()

      Specified by:
        `getBuildAbility` in interface `org.gradle.platform.base.internal.BinarySpecInternal`

    - #### getBinaryBuildAbility

          protected org.gradle.platform.base.internal.BinaryBuildAbility getBinaryBuildAbility()

    - #### replaceSingleDirectory

          public static void replaceSingleDirectory(Set<File> dirs,
                                    File dir)