# Artifacts

# Artifacts

<br />

```
interface Artifacts
```

<br />

*** ** * ** ***

Access to the artifacts on a Variant object.

Artifacts are temporary or final files or directories that are produced by the Android Gradle plugin during the build. Depending on its configuration, each[com.android.build.api.variant.VariantBuilder](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/variant/VariantBuilder)produces different versions of some of the output artifacts.

An example of temporary artifacts are .class files obtained from compiling source files that will eventually get transformed further into dex files. Final artifacts are APKs and bundle files that are not transformed further.

Artifacts are uniquely defined by their[Artifact](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/Artifact)type and public artifact types that can be accessed from third-party plugins or build script are defined in[SingleArtifact](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/SingleArtifact)

## Summary

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ### Public functions                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Provider](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Provider.html)`<FileTypeT>`                                                                                             | `<FileTypeT : `[FileSystemLocation](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileSystemLocation.html)`?> `[get](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/Artifacts#get(com.android.build.api.artifact.SingleArtifact))`(type: `[SingleArtifact](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/SingleArtifact)`<FileTypeT?>?)` Get the[Provider](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Provider.html)of[FileTypeT](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/Artifacts#get(com.android.build.api.artifact.SingleArtifact))for the passed[Artifact](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/Artifact).                        |
| [Provider](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Provider.html)`<`[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)`<FileTypeT>>` | `<FileTypeT : `[FileSystemLocation](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileSystemLocation.html)`?> `[getAll](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/Artifacts#getAll(com.android.build.api.artifact.MultipleArtifact))`(type: `[MultipleArtifact](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/MultipleArtifact)`<FileTypeT?>?)` Get all the[Provider](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Provider.html)s of[FileTypeT](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/Artifacts#getAll(com.android.build.api.artifact.MultipleArtifact))for the passed[Artifact](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/Artifact). |
| [BuiltArtifactsLoader](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/variant/BuiltArtifactsLoader)                                                            | [getBuiltArtifactsLoader](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/Artifacts#getBuiltArtifactsLoader())`()` Provides an implementation of[BuiltArtifactsLoader](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/variant/BuiltArtifactsLoader)that can be used to load built artifacts metadata.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| [TaskBasedOperation](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/TaskBasedOperation)`<TaskT>`                                                      | `<TaskT : `[Task](https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html)`?> `[use](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/Artifacts#use(org.gradle.api.tasks.TaskProvider))`(taskProvider: `[TaskProvider](https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/TaskProvider.html)`<TaskT?>?)` Access[Task](https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html)based operations.                                                                                                                                                                                                                                                                                                                                                                                                          |

## Public functions

### get

```
fun <FileTypeT : FileSystemLocation?> get(type: SingleArtifact<FileTypeT?>?): Provider<FileTypeT>
```

Get the[Provider](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Provider.html)of[FileTypeT](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/Artifacts#get(com.android.build.api.artifact.SingleArtifact))for the passed[Artifact](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/Artifact).  

|                                                                                    Parameters                                                                                     ||
|-----------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------|
| `type: `[SingleArtifact](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/SingleArtifact)`<FileTypeT?>?` | Type of the single artifact. |

### getAll

```
fun <FileTypeT : FileSystemLocation?> getAll(type: MultipleArtifact<FileTypeT?>?): Provider<List<FileTypeT>>
```

Get all the[Provider](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Provider.html)s of[FileTypeT](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/Artifacts#getAll(com.android.build.api.artifact.MultipleArtifact))for the passed[Artifact](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/Artifact).  

|                                                                                       Parameters                                                                                        ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------|
| `type: `[MultipleArtifact](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/MultipleArtifact)`<FileTypeT?>?` | Type of the multiple artifact. |

### getBuiltArtifactsLoader

```
fun getBuiltArtifactsLoader(): BuiltArtifactsLoader
```

Provides an implementation of[BuiltArtifactsLoader](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/variant/BuiltArtifactsLoader)that can be used to load built artifacts metadata.  

|                                                                                                                                                              Returns                                                                                                                                                               ||
|-----------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [BuiltArtifactsLoader](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/variant/BuiltArtifactsLoader) | A thread safe implementation of[BuiltArtifactsLoader](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/variant/BuiltArtifactsLoader)that can be reused. |

### use

```
fun <TaskT : Task?> use(taskProvider: TaskProvider<TaskT?>?): TaskBasedOperation<TaskT>
```

Access[Task](https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html)based operations.  

|                                                                                                                                                                                                                   Parameters                                                                                                                                                                                                                    ||
|---------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `taskProvider: `[TaskProvider](https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/TaskProvider.html)`<TaskT?>?` | The[TaskProvider](https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/TaskProvider.html)for the[TaskT](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/Artifacts#use(org.gradle.api.tasks.TaskProvider))that will be producing and/or consuming artifact types. |

|                                                                                                                                                                                                             Returns                                                                                                                                                                                                              ||
|-----------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [TaskBasedOperation](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/TaskBasedOperation)`<TaskT>` | A[TaskBasedOperation](https://developer.android.com/reference/tools/gradle-api/7.2/com/android/build/api/artifact/TaskBasedOperation)object using the passed[TaskProvider](https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/TaskProvider.html)for all its operations. |