# BuiltArtifacts

# BuiltArtifacts

```
interface BuiltArtifacts
```

|------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [com.android.build.api.variant.BuiltArtifacts](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifacts#) |

Represents a[Collection](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html)of[BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifact)produced by a[org.gradle.api.Task](https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html).

Tasks in Android Gradle Plugin can produce more than one file in the output folder so any[Artifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/artifact/Artifact.html#)with a[Artifact.kind](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/artifact/Artifact.html#kind:com.android.build.api.artifact.ArtifactKind)of type[com.android.build.api.artifact.ArtifactKind.DIRECTORY](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/artifact/ArtifactKind.DIRECTORY.html#)can actually contain several produced[File](http://docs.oracle.com/javase/8/docs/api/java/io/File.html). For instance, when dealing with multi-apk, there will be several manifest files or APKs produced by the Android Gradle Plugin.

Each produced file can be identified with unique metadata like the list of filters and/or version code or version name. This instance will allow producer and consumer[org.gradle.api.Task](https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html)s to easily match produced files with this metadata without relying on name mangling or other custom solutions.

Simple use of this facility can look like :

This[BuiltArtifacts](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifacts#)will abstract access to these produced files and provided some metadata associated with each file to be able to identify filters, version code or version name.

## Summary

|                                                                                                                                                                                                                                               ### Nested classes                                                                                                                                                                                                                                               ||
|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract | [TransformParams](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifacts.TransformParams) Specialized version of Gradle's[WorkParameters](https://docs.gradle.org/current/javadoc/org/gradle/workers/WorkParameters.html)so we can retrieve the output file generated when transforming an instance of[BuiltArtifacts](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifacts#)into a new one. |

|                                                                                                                                            ### Constants                                                                                                                                             ||
|---------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| const[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [METADATA_FILE_VERSION](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifacts#Companion.METADATA_FILE_VERSION:kotlin.Int) Current version of the metadata file. |

|                                                                                                                                                                                               ### Public methods                                                                                                                                                                                                ||
|--------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [save](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifacts#save(org.gradle.api.file.Directory))`(`out:` `[Directory](https://docs.gradle.org/current/javadoc/org/gradle/api/file/Directory.html)`)` Saves the metadata associated with this instance into a folder. |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ### Properties                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ||
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)                                                                                                                                                  | [applicationId](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifacts#applicationId:kotlin.String) Returns the application ID for these[BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifact)instances.                                                                                                                                                                                                                                                                                                                                                                                         |
| abstract[Artifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/artifact/Artifact.html#)\<\*\>                                                                                                      | [artifactType](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifacts#artifactType:com.android.build.api.artifact.Artifact) Identifies the[Artifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/artifact/Artifact.html#)for this[Collection](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html)of[BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifact), all[BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifact)are the same type of artifact. |
| abstract[Collection](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html)\<[BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifact)\> | [elements](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifacts#elements:kotlin.collections.Collection) Returns the[Collection](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html)of[BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifact).                                                                                                                                                                                                                                                                                                               |
| abstract[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)                                                                                                                                                  | [variantName](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifacts#variantName:kotlin.String) Identifies the variant name for these[BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifact)                                                                                                                                                                                                                                                                                                                                                                                                      |

## Constants

### METADATA_FILE_VERSION

```
const val METADATA_FILE_VERSION: Int
```

Current version of the metadata file.  

    Value: 3

## Public methods

### save

```
abstract fun save(out: Directory): Unit
```

Saves the metadata associated with this instance into a folder.

|                                                                                                                        Parameters                                                                                                                        ||
|---------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|
| out:[Directory](https://docs.gradle.org/current/javadoc/org/gradle/api/file/Directory.html) | the[Directory](https://docs.gradle.org/current/javadoc/org/gradle/api/file/Directory.html)that can be used to save the metadata using a standard file name. |

## Properties

### applicationId

```
abstract val applicationId: String
```

Returns the application ID for these[BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifact)instances.

| Return ||
|---|---|
| the application ID. ||

### artifactType

```
abstract val artifactType: Artifact<*>
```

Identifies the[Artifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/artifact/Artifact.html#)for this[Collection](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html)of[BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifact), all[BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifact)are the same type of artifact.

| Return ||
|---|---|
| the[Artifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/artifact/Artifact.html#)for all the[BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifact)instances. ||

### elements

```
abstract val elements: Collection<BuiltArtifact>
```

Returns the[Collection](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-collection/index.html)of[BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifact).  

### variantName

```
abstract val variantName: String
```

Identifies the variant name for these[BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/BuiltArtifact)