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