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

Since:
  1.4

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Method Summary

  ### Methods inherited from interface Named

  `getName`