1616package com.skydoves.compose.stability.gradle
1717
1818import org.gradle.api.DefaultTask
19+ import org.gradle.api.file.ConfigurableFileCollection
1920import org.gradle.api.file.DirectoryProperty
20- import org.gradle.api.file.RegularFileProperty
2121import org.gradle.api.provider.ListProperty
2222import org.gradle.api.provider.Property
2323import org.gradle.api.tasks.Input
24- import org.gradle.api.tasks.Internal
24+ import org.gradle.api.tasks.InputFiles
2525import org.gradle.api.tasks.OutputDirectory
2626import org.gradle.api.tasks.TaskAction
2727
@@ -34,9 +34,10 @@ public abstract class StabilityDumpTask : DefaultTask() {
3434
3535 /* *
3636 * Input file containing stability information generated by the compiler.
37+ * Using InputFiles instead of InputFile to allow the file to not exist yet.
3738 */
38- @get:Internal
39- public abstract val stabilityInputFile : RegularFileProperty
39+ @get:InputFiles
40+ public abstract val stabilityInputFiles : ConfigurableFileCollection
4041
4142 /* *
4243 * Output directory where the stability file will be written.
@@ -69,7 +70,7 @@ public abstract class StabilityDumpTask : DefaultTask() {
6970
7071 @TaskAction
7172 public fun dump () {
72- val inputFile = stabilityInputFile.orNull?.asFile
73+ val inputFile = stabilityInputFiles.singleOrNull()
7374 if (inputFile == null || ! inputFile.exists()) {
7475 // If the file doesn't exist, it means the module has no composable functions
7576 // This is expected for modules like activities or utilities without composables
0 commit comments