# ManifestFiles

# ManifestFiles

<br />

```
public interface ManifestFiles extends Named
```

<br />

*** ** * ** ***

Defines a set of manifests for particular variant. Adding manifest is always added static and generated manifests carry the highest possible priority across all manifests.

## Summary

|                                                                                                                                                                                                                                                                                                          ### Public methods                                                                                                                                                                                                                                                                                                           |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `abstract void`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `<TASK extends `[Task](https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html)`> `[addGeneratedManifestFile](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/ManifestFiles#addGeneratedManifestFile(org.gradle.api.tasks.TaskProvider,kotlin.Function1))`(` ` @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[TaskProvider](https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/TaskProvider.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` TASK> taskProvider,` ` @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` Function1<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` TASK, @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[RegularFileProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFileProperty.html)`> wiredWith` `)` Add the output of a custom task to the list of manifests. |
| `abstract void`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | [addStaticManifestFile](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/ManifestFiles#addStaticManifestFile(kotlin.String))`(@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)` relativeFilePath)` Add existing manifest file to the variant.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[Provider](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Provider.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[List](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[RegularFile](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html)`>>` | [getAll](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/ManifestFiles#getAll())`()` Get all registered manifests as a[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)of[RegularFile](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |

|                                                                                                                                                                                                                                                                                                                                                          ### Inherited methods                                                                                                                                                                                                                                                                                                                                                          |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| From[org.gradle.api.Named](https://docs.gradle.org/current/javadoc/org/gradle/api/Named.html) |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| | `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html) | [getName](https://docs.gradle.org/current/javadoc/org/gradle/api/Named.html#getName--)`()` | |

## Public methods

### addGeneratedManifestFile

```
abstract void <TASK extends Task> addGeneratedManifestFile(
    @NonNull TaskProvider<@NonNull TASK> taskProvider,
    @NonNull Function1<@NonNull TASK, @NonNull RegularFileProperty> wiredWith
)
```

Add the output of a custom task to the list of manifests.

The[RegularFileProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFileProperty.html)is the output of a Task[TASK](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/ManifestFiles#addGeneratedManifestFile(org.gradle.api.tasks.TaskProvider,kotlin.Function1))that has been registered using the Gradle's Task manager.

The manifest is added last to the variant's list and has the highest priority.  

|                                                                                                                                                                                                                                   Parameters                                                                                                                                                                                                                                   |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[TaskProvider](https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/TaskProvider.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` TASK> taskProvider`                                                                                                                                  | the[TaskProvider](https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/TaskProvider.html)returned by Gradle's Task manager when registering the Task of type[TASK](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/ManifestFiles#addGeneratedManifestFile(org.gradle.api.tasks.TaskProvider,kotlin.Function1)).  |
| `@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` Function1<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` TASK, @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[RegularFileProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFileProperty.html)`> wiredWith` | the method reference returning the[TASK](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/ManifestFiles#addGeneratedManifestFile(org.gradle.api.tasks.TaskProvider,kotlin.Function1))task's output to use as a source directory. The generated manifest location is automatically determined by the Android Gradle Plugin |

### addStaticManifestFile

```
abstract void addStaticManifestFile(@NonNull String relativeFilePath)
```

Add existing manifest file to the variant.

The file will be added last in the list of manifest files for the variant. As long as there is a manifest merging process, added manifest will overlay others and become the one with the highest priority.

Do not use[addStaticManifestFile](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/ManifestFiles#addStaticManifestFile(kotlin.String))to add sources that are generated by a task, instead use[addGeneratedManifestFile](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/ManifestFiles#addGeneratedManifestFile(org.gradle.api.tasks.TaskProvider,kotlin.Function1))  

|                                                                                                          Parameters                                                                                                           |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)` relativeFilePath` | the manifest file path, that will be resolved using the[Directory.file](https://docs.gradle.org/current/javadoc/org/gradle/api/file/Directory.html#file-kotlin.String-)API relative to the Gradle project directory. |

### getAll

```
abstract @NonNull Provider<@NonNull List<@NonNull RegularFile>> getAll()
```

Get all registered manifests as a[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)of[RegularFile](https://docs.gradle.org/current/javadoc/org/gradle/api/file/RegularFile.html).

The outer[List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)represents the priority of manifests respective to each other, meaning that elements first in the list overrides elements last in the list.

The returned[Provider](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/Provider.html)can be used directly in a[org.gradle.api.tasks.InputFiles](https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/InputFiles.html)annotated property of a[Task](https://docs.gradle.org/current/javadoc/org/gradle/api/Task.html)