From ff27a6125272668562fc699f184133ba892ceb42 Mon Sep 17 00:00:00 2001 From: Ivan Gavrilovic Date: Mon, 26 Apr 2021 17:25:05 +0100 Subject: [PATCH] [Gradle] Use ConfigurableFileCollection for task local state Use ConfigurableFileCollection so that tasks can simply append to the file collection and tasks that do not need this, can simply do nothing. --- .../kotlin/gradle/internal/tasks/TaskWithLocalState.kt | 7 ++++--- .../org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt | 5 +---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/tasks/TaskWithLocalState.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/tasks/TaskWithLocalState.kt index 0c5785b708d..8c7a0e51ad2 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/tasks/TaskWithLocalState.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/tasks/TaskWithLocalState.kt @@ -6,17 +6,18 @@ package org.jetbrains.kotlin.gradle.internal.tasks import org.gradle.api.Task +import org.gradle.api.file.ConfigurableFileCollection import org.gradle.api.file.FileCollection import org.gradle.api.tasks.Internal import org.jetbrains.kotlin.build.report.metrics.BuildMetricsReporter -import org.jetbrains.kotlin.gradle.utils.outputsCompatible internal interface TaskWithLocalState : Task { - fun localStateDirectories(): FileCollection + @get:Internal + val localStateDirectories: ConfigurableFileCollection @get:Internal val metrics: BuildMetricsReporter } internal fun TaskWithLocalState.allOutputFiles(): FileCollection = - outputs.files + localStateDirectories() + outputs.files + localStateDirectories diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt index 63cfef92e24..4c250bf1888 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinJsDce.kt @@ -17,7 +17,6 @@ package org.jetbrains.kotlin.gradle.tasks import org.gradle.api.Project -import org.gradle.api.file.FileCollection import org.gradle.api.file.FileTree import org.gradle.api.tasks.* import org.jetbrains.kotlin.cli.common.arguments.K2JSDceArguments @@ -31,7 +30,7 @@ import org.jetbrains.kotlin.gradle.utils.canonicalPathWithoutExtension import java.io.File @CacheableTask -open class KotlinJsDce : AbstractKotlinCompileTool(), KotlinJsDce { +abstract class KotlinJsDce : AbstractKotlinCompileTool(), KotlinJsDce { init { cacheOnlyIfEnabledForKotlin() @@ -40,8 +39,6 @@ open class KotlinJsDce : AbstractKotlinCompileTool(), KotlinJs @get:Internal internal val objects = project.objects - override fun localStateDirectories(): FileCollection = project.files() - override fun createCompilerArgs(): K2JSDceArguments = K2JSDceArguments() override fun setupCompilerArgs(args: K2JSDceArguments, defaultsOnly: Boolean, ignoreClasspathResolutionErrors: Boolean) {