aboutsummaryrefslogtreecommitdiff
path: root/dokka-integration-tests/build.gradle.kts
diff options
context:
space:
mode:
Diffstat (limited to 'dokka-integration-tests/build.gradle.kts')
-rw-r--r--dokka-integration-tests/build.gradle.kts34
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" }