# SecondaryFile

# SecondaryFile

```
open class SecondaryFile
```

|---|--------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                                               ||
| ↳ | [com.android.build.api.transform.SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#) |

A secondary input file(s) for a[Transform](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/Transform). A secondary input is part of the transform inputs and can be decorated to indicate if a change to the input would trigger a non incremental[Transform#transform(TransformInvocation)](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/Transform#transform(com.android.build.api.transform.TransformInvocation)). call. The collection should only contain one file.

## Summary

|                                                                                                                                                                                       ### Public constructors                                                                                                                                                                                        ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [<init>](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#%3Cinit%3E(java.io.File,%20kotlin.Boolean))`(`@NonNull` `secondaryInputFile:` `[File](http://docs.oracle.com/javase/8/docs/api/java/io/File.html)`, `supportsIncrementalBuild:` `[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`)` <br /> |

|                                                                                                                                                                                                                                                                                                                                                                                                      ### Public methods                                                                                                                                                                                                                                                                                                                                                                                                      ||
|-----------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| open[File](http://docs.oracle.com/javase/8/docs/api/java/io/File.html)!                                                                 | [getFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#getFile())`()` Returns the file handle for this secondary input to a Transform.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| open[FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html)!                                  | [getFileCollection](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#getFileCollection(org.gradle.api.Project))`(`@NonNull` `project:` `[Project](https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html)`)` Returns the[FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html)handle for this secondary input to a[Transform](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/Transform)                                                                                                                             |
| open[FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html)?                                  | [getFileCollection](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#getFileCollection())`()` Returns the[FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html)handle for this secondary input to a[Transform](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/Transform)if this[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)is constructed with[FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html). |
| openstatic[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)! | [incremental](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#incremental(java.io.File))`(`@NonNull` `file:` `[File](http://docs.oracle.com/javase/8/docs/api/java/io/File.html)`)` Creates a[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)instance that, when modified, will not trigger a full, non-incremental build.                                                                                                                                                                                                                   |
| openstatic[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)! | [incremental](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#incremental(org.gradle.api.file.FileCollection))`(`@NonNull` `file:` `[FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html)`)` Creates a[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)instance that, when modified, will not trigger a full, non-incremental build.                                                                                                                                                              |
| openstatic[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)! | [incremental](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#incremental(java.util.function.Supplier))`(`@NonNull` `file:` `[Supplier](http://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html)<[FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html)!>`)` Creates a[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)instance that, when modified, will not trigger a full non-incremental build.                                                                              |
| openstatic[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)! | [nonIncremental](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#nonIncremental(java.io.File))`(`@NonNull` `file:` `[File](http://docs.oracle.com/javase/8/docs/api/java/io/File.html)`)` Creates a[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)instance that, when modified, will always trigger a full, non-incremental build.                                                                                                                                                                                                          |
| openstatic[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)! | [nonIncremental](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#nonIncremental(org.gradle.api.file.FileCollection))`(`@NonNull` `file:` `[FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html)`)` Creates a[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)instance that, when modified, will always trigger a full, non-incremental build.                                                                                                                                                     |
| openstatic[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)! | [nonIncremental](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#nonIncremental(java.util.function.Supplier))`(`@NonNull` `file:` `[Supplier](http://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html)<[FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html)!>`)` Creates a[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)instance that, when modified, will always trigger a full non-incremental build.                                                                     |
| open[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)                                                  | [supportsIncrementalBuild](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#supportsIncrementalBuild())`()` Returns true if this secondary input changes can be handled by the receiving[Transform](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/Transform)incrementally.                                                                                                                                                                                                                                                                                                 |

## Public constructors

### \<init\>

```
SecondaryFile(
    @NonNull secondaryInputFile: File, 
    supportsIncrementalBuild: Boolean)
```

|                                                                                                                                                    Parameters                                                                                                                                                     ||
|----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `secondaryInputFile`       | [File](http://docs.oracle.com/javase/8/docs/api/java/io/File.html):the[File](http://docs.oracle.com/javase/8/docs/api/java/io/File.html)this[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)will point to |
| `supportsIncrementalBuild` | [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html):if true, changes to the file can be handled incrementally by the transform                                                                                                                         |

**See Also**

- [#incremental(File)](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#incremental(java.io.File))[#nonIncremental(File)](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#nonIncremental(java.io.File))

## Public methods

### getFile

```
open fun getFile(): File!
```

**Deprecated:** *use[getFileCollection](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#getFileCollection(org.gradle.api.Project))*

Returns the file handle for this secondary input to a Transform.

| Return ||
|---|---|
| [File](http://docs.oracle.com/javase/8/docs/api/java/io/File.html)!:a file handle. ||

### getFileCollection

```
open fun getFileCollection(@NonNull project: Project): FileCollection!
```

Returns the[FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html)handle for this secondary input to a[Transform](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/Transform)

If this[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)is constructed with[File](http://docs.oracle.com/javase/8/docs/api/java/io/File.html), the supplied will be used to create a[FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html).

|                                                               Parameters                                                                ||
|-----------|------------------------------------------------------------------------------------------------------------------------------|
| `project` | [Project](https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html):for creating a FileCollection when necessary. |

| Return ||
|---|---|
| [FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html)!:FileCollection of this SecondaryFile ||

### getFileCollection

```
@Nullable open fun getFileCollection(): FileCollection?
```

Returns the[FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html)handle for this secondary input to a[Transform](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/Transform)if this[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)is constructed with[FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html). Otherwise, null is returned.

Note this method is not part of the API of[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#).

| Return ||
|---|---|
| [FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html)?:FileCollection of this SecondaryFile ||

### incremental

```
open static fun incremental(@NonNull file: File): SecondaryFile!
```

**Deprecated:** *Use[incremental(FileCollection)](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#incremental(org.gradle.api.file.FileCollection))*

Creates a[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)instance that, when modified, will not trigger a full, non-incremental build.  

### incremental

```
open static fun incremental(@NonNull file: FileCollection): SecondaryFile!
```

Creates a[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)instance that, when modified, will not trigger a full, non-incremental build.  

### incremental

```
open static fun incremental(@NonNull file: Supplier<FileCollection!>): SecondaryFile!
```

Creates a[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)instance that, when modified, will not trigger a full non-incremental build.

|                                                                                                             Parameters                                                                                                             ||
|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `file` | [Supplier](http://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html)\<[FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html)!\>:a supplier of file collection. |

### nonIncremental

```
open static fun nonIncremental(@NonNull file: File): SecondaryFile!
```

**Deprecated:** *Use[nonIncremental(FileCollection)](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#nonIncremental(org.gradle.api.file.FileCollection))*

Creates a[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)instance that, when modified, will always trigger a full, non-incremental build.  

### nonIncremental

```
open static fun nonIncremental(@NonNull file: FileCollection): SecondaryFile!
```

Creates a[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)instance that, when modified, will always trigger a full, non-incremental build.  

### nonIncremental

```
open static fun nonIncremental(@NonNull file: Supplier<FileCollection!>): SecondaryFile!
```

Creates a[SecondaryFile](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#)instance that, when modified, will always trigger a full non-incremental build.

|                                                                                                             Parameters                                                                                                             ||
|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `file` | [Supplier](http://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html)\<[FileCollection](https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCollection.html)!\>:a supplier of file collection. |

### supportsIncrementalBuild

```
open fun supportsIncrementalBuild(): Boolean
```

Returns true if this secondary input changes can be handled by the receiving[Transform](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/Transform)incrementally. If false, a change to the file returned by[getFileCollection](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/transform/SecondaryFile#getFileCollection(org.gradle.api.Project))will trigger a non incremental build.

| Return ||
|---|---|
| [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html):true when the input file changes can be handled incrementally, false otherwise. ||