[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.
This commit is contained in:
committed by
teamcityserver
parent
571c9c10d4
commit
ff27a61252
+4
-3
@@ -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
|
||||
|
||||
+1
-4
@@ -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<K2JSDceArguments>(), KotlinJsDce {
|
||||
abstract class KotlinJsDce : AbstractKotlinCompileTool<K2JSDceArguments>(), KotlinJsDce {
|
||||
|
||||
init {
|
||||
cacheOnlyIfEnabledForKotlin()
|
||||
@@ -40,8 +39,6 @@ open class KotlinJsDce : AbstractKotlinCompileTool<K2JSDceArguments>(), 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) {
|
||||
|
||||
Reference in New Issue
Block a user