我想在根項目中創建一個任務,這樣當任務執行時,它將在子項目中執行同名任務,只爲具有該名稱的任務的子項目執行。如何創建遞歸Gradle任務?
我不想硬編碼任務的名稱,因爲以後可能會添加更多的子項目。
task checkArtifacts
subprojects.findAll { subproject ->
subproject.getTasksByName('checkArtifacts', false)
}.forEach { task ->
checkArtifacts.dependsOn(task)
}
不起作用,因爲它看起來像它迫使配置階段結束,打破一些插件,使配置階段的變化。
task checkArtifacts
afterEvaluate {
subprojects.findAll { subproject ->
subproject.getTasksByName('checkArtifacts', false)
}.forEach { task ->
checkArtifacts.dependsOn(task)
}
}
發出Could not determine the dependencies of task ':checkArtifacts'.
是的,這是事實。我忘了提及我想要另一個rootProject任務依賴於這個任務。 –