# com.android.build.api.artifact

# com.android.build.api.artifact

## Interfaces

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Artifact.Appendable](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact.Appendable)                             | Denotes an artifact type that can be appended to.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| [Artifact.ContainsMany](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact.ContainsMany)                         | Denotes a single [DIRECTORY](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact.Companion#DIRECTORY()) that may contain zero to many [com.android.build.api.variant.BuiltArtifact](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/variant/BuiltArtifact).                                                                                                                                                                                                                               |
| [Artifact.Replaceable](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact.Replaceable)                           | Denotes an artifact type that can be replaced.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| [Artifact.Transformable](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact.Transformable)                       | Denotes an artifact type that can transformed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| [ArtifactTransformationRequest](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/ArtifactTransformationRequest)         | When a [Directory](https://docs.gradle.org/current/javadoc/org/gradle/api/file/Directory.html) contains more than one artifact (for example, consider [SingleArtifact.APK](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/SingleArtifact.APK) with multiple APKs for different screen densities), this object will abstract away having to deal with [BuiltArtifacts](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/variant/BuiltArtifacts) and manually load and write the metadata files. |
| [Artifacts](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifacts)                                                 | Access to the artifacts on a Variant object.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| [CombiningOperationRequest](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/CombiningOperationRequest)                 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [InAndOutDirectoryOperationRequest](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/InAndOutDirectoryOperationRequest) |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| [InAndOutFileOperationRequest](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/InAndOutFileOperationRequest)           | Operations performed by a [Task](https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html) with a single [RegularFile](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html) or [Directory](https://docs.gradle.org/current/javadoc/org/gradle/api/file/Directory.html) output.                                                                                                                                                                                                                                                               |
| [OutOperationRequest](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/OutOperationRequest)                             | Operations performed by a [Task](https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html) with a single [RegularFile](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html) or [Directory](https://docs.gradle.org/current/javadoc/org/gradle/api/file/Directory.html) output.                                                                                                                                                                                                                                                               |
| [TaskBasedOperation](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/TaskBasedOperation)                               | Interface with methods to wire input and output method references to [Task](https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html)-based operations.                                                                                                                                                                                                                                                                                                                                                                                                               |

## Classes

|------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Artifact](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact)                   | Defines a type of artifact handled by the Android Gradle Plugin.                                                                                                           |
| [Artifact.Multiple](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact.Multiple) | Denotes possible multiple [FileSystemLocation](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileSystemLocation.html) instances for this artifact type.      |
| [Artifact.Single](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact.Single)     | Denotes a single [FileSystemLocation](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileSystemLocation.html) instance of this artifact type at a given time. |
| [ArtifactKind](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/ArtifactKind)           | Exhaustive list of artifact file representations supported by the Android Gradle plugin.                                                                                   |
| [MultipleArtifact](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/MultipleArtifact)   | Public [Artifact](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact) for Android Gradle plugin.                         |
| [ScopedArtifact](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/ScopedArtifact)       | List of ScopedArtifacts.Scope artifacts.                                                                                                                                   |
| [SingleArtifact](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/SingleArtifact)       | Public [Artifact](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact) for Android Gradle plugin.                         |

## Enums

|------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
| [Artifact.Category](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/artifact/Artifact.Category) | Defines the kind of artifact type. this will be used to determine the output file location for instance. |