# ArtifactKind

# ArtifactKind

[View Source](https://cs.android.com/search?q=file:com/android/build/api/artifact/ArtifactKind.kt+class:com.android.build.api.artifact.ArtifactKind)  
Added in 4.2.0  

<br />

```
sealed class ArtifactKind<T : FileSystemLocation> : Serializable
```

<br />

Known direct subclasses  
[ArtifactKind.DIRECTORY](https://developer.android.com/reference/tools/gradle-api/8.13/com/android/build/api/artifact/ArtifactKind.DIRECTORY),[ArtifactKind.FILE](https://developer.android.com/reference/tools/gradle-api/8.13/com/android/build/api/artifact/ArtifactKind.FILE)  

|-----------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|
| [ArtifactKind.DIRECTORY](https://developer.android.com/reference/tools/gradle-api/8.13/com/android/build/api/artifact/ArtifactKind.DIRECTORY) | A type of artifact file that is a[Directory](https://docs.gradle.org/current/javadoc/org/gradle/api/file/Directory.html) |
| [ArtifactKind.FILE](https://developer.android.com/reference/tools/gradle-api/8.13/com/android/build/api/artifact/ArtifactKind.FILE)           | A Type of artifact that is a[RegularFile](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html)  |

*** ** * ** ***

Exhaustive list of artifact file representations supported by the Android Gradle plugin.

As of now, only[RegularFile](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html)represented by[FILE](https://developer.android.com/reference/tools/gradle-api/8.13/com/android/build/api/artifact/ArtifactKind.FILE)and[Directory](https://docs.gradle.org/current/javadoc/org/gradle/api/file/Directory.html)represented by[DIRECTORY](https://developer.android.com/reference/tools/gradle-api/8.13/com/android/build/api/artifact/ArtifactKind.DIRECTORY)are supported.

## Summary

|                                                                                                                                                                                               ### Nested types                                                                                                                                                                                                |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `object `[ArtifactKind.DIRECTORY](https://developer.android.com/reference/tools/gradle-api/8.13/com/android/build/api/artifact/ArtifactKind.DIRECTORY)` : `[ArtifactKind](https://developer.android.com/reference/tools/gradle-api/8.13/com/android/build/api/artifact/ArtifactKind) A type of artifact file that is a[Directory](https://docs.gradle.org/current/javadoc/org/gradle/api/file/Directory.html) |
| `object `[ArtifactKind.FILE](https://developer.android.com/reference/tools/gradle-api/8.13/com/android/build/api/artifact/ArtifactKind.FILE)` : `[ArtifactKind](https://developer.android.com/reference/tools/gradle-api/8.13/com/android/build/api/artifact/ArtifactKind) A Type of artifact that is a[RegularFile](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html)            |

|                                                                                                                    ### Protected constructors                                                                                                                    |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `<T : `[FileSystemLocation](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileSystemLocation.html)`> `[ArtifactKind](https://developer.android.com/reference/tools/gradle-api/8.13/com/android/build/api/artifact/ArtifactKind#ArtifactKind())`()` |

|                                           ### Public functions                                            |
|-----------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|
| `abstract `[KClass](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html)`<T>` | [dataType](https://developer.android.com/reference/tools/gradle-api/8.13/com/android/build/api/artifact/ArtifactKind#dataType())`()` |

## Protected constructors

### ArtifactKind

```
protected <T : FileSystemLocation> ArtifactKind()
```  

## Public functions

### dataType

Added in 4.2.0  

```
abstract fun dataType(): KClass<T>
```  

|                                            Returns                                             |
|------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| [KClass](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html)`<T>` | The data type used by Gradle to represent the file abstraction for this artifact kind. |