Package org.gradle.api.component

## Interface SoftwareComponent

- All Superinterfaces:
    `Named`
  All Known Subinterfaces:
    `AdhocComponentWithVariants`, `BuildableComponent`, `ComponentWithBinaries`, `ComponentWithCoordinates`, `ComponentWithDependencies`, `ComponentWithExecutable`, `ComponentWithInstallation`, `ComponentWithLinkFile`, `ComponentWithLinkUsage`, `ComponentWithNativeRuntime`, `ComponentWithObjectFiles`, `ComponentWithOutputs`, `ComponentWithRuntimeFile`, `ComponentWithRuntimeUsage`, `ComponentWithSharedLibrary`, `ComponentWithStaticLibrary`, `ComponentWithVariants`, `CppApplication`, `CppBinary`, `CppComponent`, `CppExecutable`, `CppLibrary`, `CppSharedLibrary`, `CppStaticLibrary`, `CppTestExecutable`, `CppTestSuite`, `ProductionComponent`, `ProductionCppComponent`, `ProductionSwiftComponent`, `PublishableComponent`, `SwiftApplication`, `SwiftBinary`, `SwiftComponent`, `SwiftExecutable`, `SwiftLibrary`, `SwiftSharedLibrary`, `SwiftStaticLibrary`, `SwiftXCTestBinary`, `SwiftXCTestBundle`, `SwiftXCTestExecutable`, `SwiftXCTestSuite`, `TestComponent`, `TestSuiteComponent`

      public interface SoftwareComponent
      extends Named

  A software component produced by a Gradle software project.

  An implementation of this interface may also implement:

  - `ComponentWithVariants` to provide information about the variants that the component provides.

- - ### Nested Class Summary

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

      `Named.Namer`

  - ### Method Summary

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

      `getName`