CleanDataTask: use provider for input cleanStore

This commit is contained in:
nataliya.valtman
2020-01-17 15:42:29 +03:00
parent abd60b97f8
commit 578132ef1f
3 changed files with 6 additions and 6 deletions
@@ -29,7 +29,7 @@ open class NodeJsRootPlugin : Plugin<Project> {
}
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"
}
@@ -25,7 +25,7 @@ open class YarnPlugin : Plugin<Project> {
}
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"
}
}
@@ -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<CleanableStore>
/**
* 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)
}