# 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()`
  `Set<? extends Capability>`
  `getCapabilities()`
  `Set<? extends ModuleDependency>`
  `getDependencies()`
  `Set<? extends DependencyConstraint>`
  `getDependencyConstraints()`
  `Set<ExcludeRule>`
  `getGlobalExcludes()`

  ### Methods inherited from interface HasAttributes

  `getAttributes`

  ### Methods inherited from interface Named

  `getName`

- ## Method Details

  - ### getArtifacts

    Set<? extends PublishArtifact> getArtifacts()

  - ### getDependencies

    Set<? extends ModuleDependency> getDependencies()

  - ### getDependencyConstraints

    Set<? extends DependencyConstraint> getDependencyConstraints()

  - ### getCapabilities

    Set<? extends Capability> getCapabilities()

  - ### getGlobalExcludes

    Set<ExcludeRule> getGlobalExcludes()