Я пытаюсь написать задачу с именем stage
вот так:
plugins {
base
}
val clean = "clean"
val build = "build"
tasks.register("stage") {
dependsOn(clean, build)
}
tasks[build].dependsOn(clean)
Проблема в том, что когда я запускаю ./gradlew stage
, он не запускает clean
, ни build
. Это многопроектная сборка, и у меня есть 3 подпроекта с кодом Kotlin.
Как мне заставить Gradle запускать ./gradlew clean build
всякий раз, когда я набираю ./gradlew stage
? Это явно не решение, и я не понимаю, что делаю неправильно.
Я тоже пробовал это, но это тоже не сработало. Он выполняет те задачи, которые я хочу, но в конце он запускает clean
, и у меня нет папки build
:
tasks.register("stage") {
subprojects.forEach { project ->
val clean = project.tasks.first { it.name.contains("clean") }
val build = project.tasks.first { it.name.contains("build") }
build.dependsOn(clean)
dependsOn(build)
}
}