Hier ist, wie ich es mit Kotlin-Skripten gemacht habe, wobei sowohl abhängige als auch mustRunAfter verwendet wurden. Hier ist ein Beispiel für die Ausführung von zwei Aufgaben, eine (benutzerdefinierte registrierte "importUnicodeFiles" -Aufgabe), die sich in "diesem" Projekt befindet, und eine (vordefinierte "Ausführen" -Aufgabe), die sich in einem Geschwisterprojekt mit dem Namen ": unicode" befindet:
tasks.register("rebuildUnicodeFiles") {
description = "Force the rebuild of the `./src/main/resources/text` data"
val make = project(":unicode").tasks["run"]
val copy = tasks["importUnicodeFiles"]
dependsOn(make)
dependsOn(copy)
copy.mustRunAfter(make)
}
Die Gradle-Entwickler raten im Allgemeinen von diesem Ansatz ab (sie sagen, dass das Erzwingen von Bestellungen schlecht ist und das Ausführen von Aufgaben aus anderen Projekten schlecht ist) und arbeiten an einer Möglichkeit, Ergebnisse zwischen Projekten zu veröffentlichen. Siehe: https://docs.gradle.org/current/userguide/cross_project_publications.html