# Interface SoftwareComponentVariant

All Superinterfaces:
  `HasAttributes, Named`

public interface SoftwareComponentVariant extends HasAttributes, Named
A software component variant, which has a number of artifacts, dependencies, constraints and capabilities, and that can be published to various formats (Gradle metadata, POM, ivy.xml, ...)

Since:
  5.3

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Set<? extends PublishArtifact>`
  `getArtifacts()`
  Returns the artifacts.
  `Set<? extends Capability>`
  `getCapabilities()`
  Returns the capabilities.
  `Set<? extends ModuleDependency>`
  `getDependencies()`
  Returns the dependencies.
  `Set<? extends DependencyConstraint>`
  `getDependencyConstraints()`
  Returns the dependency constraints.
  `Set<ExcludeRule>`
  `getGlobalExcludes()`
  Returns the global excludes.

  ### Methods inherited from interface HasAttributes

  `getAttributes`

  ### Methods inherited from interface Named

  `getName`

- ## Method Details

  - ### getArtifacts

    Set<? extends PublishArtifact> getArtifacts()
    Returns the artifacts.
    Since:
      5.3

  - ### getDependencies

    Set<? extends ModuleDependency> getDependencies()
    Returns the dependencies.
    Since:
      5.3

  - ### getDependencyConstraints

    Set<? extends DependencyConstraint> getDependencyConstraints()
    Returns the dependency constraints.
    Since:
      5.3

  - ### getCapabilities

    Set<? extends Capability> getCapabilities()
    Returns the capabilities.
    Since:
      5.3

  - ### getGlobalExcludes

    Set<ExcludeRule> getGlobalExcludes()
    Returns the global excludes.
    Since:
      5.3