Gradle, tests: clean should depend on cleanAllTests
This commit is contained in:
+13
-4
@@ -6,6 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.gradle.testing.internal
|
package org.jetbrains.kotlin.gradle.testing.internal
|
||||||
|
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
|
import org.gradle.api.Task
|
||||||
import org.gradle.api.plugins.JavaBasePlugin
|
import org.gradle.api.plugins.JavaBasePlugin
|
||||||
import org.gradle.api.tasks.testing.AbstractTestTask
|
import org.gradle.api.tasks.testing.AbstractTestTask
|
||||||
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
||||||
@@ -31,16 +32,24 @@ private val Project.allTestsTask: TaskHolder<AggregateTestReport>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun cleanTaskName(taskName: String) = "clean" + taskName.capitalize()
|
private fun cleanTaskName(taskName: String): String {
|
||||||
|
check(taskName.isNotEmpty())
|
||||||
|
return "clean" + taskName.capitalize()
|
||||||
|
}
|
||||||
|
|
||||||
|
private val Project.cleanAllTestTask: Task
|
||||||
|
get() = tasks.findByName(cleanTaskName(allTestsTask.name))
|
||||||
|
?: tasks.create("clean", Task::class.java).also {
|
||||||
|
tasks.getByName(LifecycleBasePlugin.CLEAN_TASK_NAME).dependsOn(it)
|
||||||
|
}
|
||||||
|
|
||||||
@Suppress("UnstableApiUsage")
|
@Suppress("UnstableApiUsage")
|
||||||
internal fun registerTestTask(taskHolder: TaskHolder<AbstractTestTask>) {
|
internal fun registerTestTask(taskHolder: TaskHolder<AbstractTestTask>) {
|
||||||
val project = taskHolder.project
|
val project = taskHolder.project
|
||||||
val allTests = project.allTestsTask.doGetTask()
|
val allTests = project.allTestsTask.doGetTask()
|
||||||
|
|
||||||
val tasks = project.tasks
|
project.tasks.getByName(LifecycleBasePlugin.CHECK_TASK_NAME).dependsOn(taskHolder.name)
|
||||||
tasks.maybeCreate(LifecycleBasePlugin.CHECK_TASK_NAME).dependsOn(taskHolder.name)
|
project.cleanAllTestTask.dependsOn(cleanTaskName(taskHolder.name))
|
||||||
tasks.maybeCreate(cleanTaskName(allTests.name)).dependsOn(cleanTaskName(taskHolder.name))
|
|
||||||
allTests.dependsOn(taskHolder.name)
|
allTests.dependsOn(taskHolder.name)
|
||||||
|
|
||||||
taskHolder.configure { task ->
|
taskHolder.configure { task ->
|
||||||
|
|||||||
Reference in New Issue
Block a user