Package org.gradle.api.artifacts

## Interface ConfigurationPublications

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

      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

    All Methods Instance Methods Abstract Methods
    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.
    `void` | `capability​(Object notation)` | Declares a capability for this configuration.
    `PublishArtifactSet` | `getArtifacts()` | Returns the artifacts associated with this configuration.
    `Collection<? extends Capability>` | `getCapabilities()` | Returns the capabilities declared for 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 Detail

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

    - #### capability

          @Incubating
          void capability​(Object notation)

      Declares a capability for this configuration.
      Parameters:
        `notation` - the notation Valid notations are a group:name:version string (e.g: org.test:capability:1.0, or a map with keys group, name and version.
      Since:
        4.7.

    - #### getCapabilities

          @Incubating
          Collection<? extends Capability> getCapabilities()

      Returns the capabilities declared for this configuration.
      Returns:
        the capabilities for this variant
      Since:
        4.7