我不确定是否有可能,但我希望能够做这样的事情:
task myTask(executeAfter: myOtherTask) << {
//do something
}
其中 myTask 将在执行之前等待 myOtherTask 完成,但如果在构建脚本调用期间未显式命名 myOtherTask,它将不会作为 myTask 的依赖项执行(如 dependsOn 会导致发生)。
我有使用ExpandoMetaClass来添加它的想法,但我不确定它是否真的可以在 Gradle 的生命周期中以这种方式实现。
Task.metaClass.executeAfter = { dependencyTask ->
if(<some condition>) {
this.dependsOn(dependencyTask)
}
}