# IvyArtifactSet

API Documentation: | `IvyArtifactSet`

Note: This class is incubating and may change in a future version of Gradle.

A Collection of `IvyArtifact`s to be included in an `IvyPublication`. Being a `DomainObjectSet`, a `IvyArtifactSet` provides convenient methods for querying, filtering, and applying actions to the set of `IvyArtifact`s.

    apply plugin: 'ivy-publish'

    def publication = publishing.publications.create("my-pub", IvyPublication)
    def artifacts = publication.artifacts

    artifacts.matching({
        it.type == "source"
    }).all({
        it.extension = "src.jar"
    })

### Properties

No properties

### Methods

Method | Description
`artifact(source)` | Incubating Creates and adds a `IvyArtifact` to the set. The semantics of this method are the same as `IvyPublication.artifact(java.lang.Object)`.
`artifact(source, config)` | Incubating Creates and adds a `IvyArtifact` to the set, which is configured by the associated action. The semantics of this method are the same as `IvyPublication.artifact(java.lang.Object, org.gradle.api.Action)`.

### Script blocks

No script blocks

### Method details

#### `IvyArtifact` `artifact`(`Object` source)

Note: This method is incubating and may change in a future version of Gradle.

Creates and adds a `IvyArtifact` to the set. The semantics of this method are the same as `IvyPublication.artifact(java.lang.Object)`.

#### `IvyArtifact` `artifact`(`Object` source, ``Action`<? super `IvyArtifact`>` config)

Note: This method is incubating and may change in a future version of Gradle.

Creates and adds a `IvyArtifact` to the set, which is configured by the associated action. The semantics of this method are the same as `IvyPublication.artifact(java.lang.Object, org.gradle.api.Action)`.