diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootPlugin.kt index a9651e3017d..7f2d9b82ac5 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootPlugin.kt @@ -29,7 +29,7 @@ open class NodeJsRootPlugin : Plugin { } tasks.register("node" + CleanDataTask.NAME_SUFFIX, CleanDataTask::class.java) { - it.cleanableStore = settings.requireConfigured().cleanableStore + it.cleanableStoreProvider = provider { settings.requireConfigured().cleanableStore } it.group = TASKS_GROUP_NAME it.description = "Clean unused local node version" } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnPlugin.kt index e9b68ca547a..5dd2c919754 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnPlugin.kt @@ -25,7 +25,7 @@ open class YarnPlugin : Plugin { } tasks.register("yarn" + CleanDataTask.NAME_SUFFIX, CleanDataTask::class.java) { - it.cleanableStore = yarnRootExtension.requireConfigured().cleanableStore + it.cleanableStoreProvider = provider { yarnRootExtension.requireConfigured().cleanableStore } it.description = "Clean unused local yarn version" } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/CleanDataTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/CleanDataTask.kt index e5a53d3e0f9..f15a6e21cda 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/CleanDataTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/CleanDataTask.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.gradle.tasks import org.gradle.api.DefaultTask +import org.gradle.api.provider.Provider import org.gradle.api.tasks.Input import org.gradle.api.tasks.TaskAction import org.jetbrains.kotlin.gradle.tasks.internal.CleanableStore @@ -13,8 +14,7 @@ import java.time.Duration import java.time.Instant /** - * Task to clean all old loaded files based on a date of special access file. - * The access file should be updated every time when loaded files are used + * Task to clean all old unused loaded files from registered stores in [CleanableStore]. */ open class CleanDataTask : DefaultTask() { @@ -23,7 +23,7 @@ open class CleanDataTask : DefaultTask() { * Use path instead of file to avoid file scanning for change check */ @Input - lateinit var cleanableStore: CleanableStore + lateinit var cleanableStoreProvider: Provider /** * Time to live in days @@ -36,7 +36,7 @@ open class CleanDataTask : DefaultTask() { fun exec() { val expirationDate = Instant.now().minus(Duration.ofDays(timeToLiveInDays)) - cleanableStore.cleanDir(expirationDate) + cleanableStoreProvider.get().cleanDir(expirationDate) }