Package org.gradle.api.artifacts

# Interface ConfigurationPublications

All Superinterfaces:
  `HasAttributes`, `HasConfigurableAttributes<ConfigurationPublications>`

@Incubating public interface ConfigurationPublications extends HasConfigurableAttributes<ConfigurationPublications>
Represents the outgoing artifacts associated with a configuration. These artifacts are used when the configuration is referenced during dependency resolution.

You can use this interface associate artifacts with a configuration using the `artifact(Object)` methods. You can also define several variants of the configuration's artifacts. Each variant represents a set of artifacts that form some mutually exclusive usage of the component.

An implicit variant is defined for a configuration whenever any artifacts are attached directly to this object or inherited from another configuration.

Since:
  3.3

## Method Summary

Modifier and Type
Method
Description
`void`
`artifact(Object notation)`
Adds an outgoing artifact to this configuration.
`void`
`artifact(Object notation, Action<? super ConfigurablePublishArtifact> configureAction)`
Adds an outgoing artifact to this configuration, configuring it using the given action.
`PublishArtifactSet`
`getArtifacts()`
Returns the artifacts associated with this configuration.
`NamedDomainObjectContainer<ConfigurationVariant>`
`getVariants()`
Returns the variants of this configuration, if any.
`void`
`variants(Action<? super NamedDomainObjectContainer<ConfigurationVariant>> configureAction)`
Configures the variants of this configuration.

### Methods inherited from interface org.gradle.api.attributes.HasAttributes

`getAttributes`

### Methods inherited from interface org.gradle.api.attributes.HasConfigurableAttributes

`attributes`

## Method Details

### getArtifacts

PublishArtifactSet getArtifacts()
Returns the artifacts associated with this configuration. When an artifact is added to this set, an implicit variant is defined for the configuration. These artifacts are also inherited by all configurations that extend this configuration.

### artifact

void artifact(Object notation)
Adds an outgoing artifact to this configuration. This artifact is included in all variants.

See `ArtifactHandler` for details of the supported notations.

### artifact

void artifact(Object notation, Action<? super ConfigurablePublishArtifact> configureAction)
Adds an outgoing artifact to this configuration, configuring it using the given action. This artifact is included in all variants.

See `ArtifactHandler` for details of the supported notations.

### getVariants

NamedDomainObjectContainer<ConfigurationVariant> getVariants()
Returns the variants of this configuration, if any.

### variants

void variants(Action<? super NamedDomainObjectContainer<ConfigurationVariant>> configureAction)
Configures the variants of this configuration.