diff options
Diffstat (limited to 'dokka-integration-tests/build.gradle.kts')
-rw-r--r-- | dokka-integration-tests/build.gradle.kts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/dokka-integration-tests/build.gradle.kts b/dokka-integration-tests/build.gradle.kts new file mode 100644 index 00000000..4642f952 --- /dev/null +++ b/dokka-integration-tests/build.gradle.kts @@ -0,0 +1,34 @@ +/* + * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +plugins { + id("dokkabuild.base") +} + +addDependencyToSubprojectTasks("assemble") +addDependencyToSubprojectTasks("build") +addDependencyToSubprojectTasks("clean") +addDependencyToSubprojectTasks("check") + +registerParentTask("test", groupName = "verification") +registerParentTask("integrationTest", groupName = "verification") + +fun addDependencyToSubprojectTasks(existingTaskName: String) { + tasks.named(existingTaskName) { + dependsOn(subprojectTasks(existingTaskName)) + } +} + +fun registerParentTask(taskName: String, groupName: String) { + tasks.register(taskName) { + group = groupName + description = "Runs $taskName tasks of all subprojects" + dependsOn(subprojectTasks(taskName)) + } +} + +fun subprojectTasks(taskName: String): List<String> = + subprojects + .filter { it.getTasksByName(taskName, false).isNotEmpty() } + .map { ":${it.name}:$taskName" } |