我已经在我的应用程序的gradle文件中为我的Android应用程序定义了两个任务。我的应用程序有两种风格,我希望这两个任务只针对一种风格运行。为此,我使用以下gradle配置:
task A << { ... }
task B << { ... }
tasks.whenTaskAdded { task ->
if(task.name.contains('assembleFreeVersion')) {
task.dependsOn A
task.dependsOn B
}
}
我的问题是:在任务B执行完毕后,任务A是否总是被执行?如果没有,我该怎么做才能确保没有紧密耦合任务A和B(即我仍然可以运行一个任务而不运行另一个任务)?
答案 0 :(得分:4)
简短的回答是否定的。依赖关系不指定顺序。要指定您需要使用mustRunAfter
的订单:
task A << { ... }
task B << { ... }
tasks.whenTaskAdded { task ->
if(task.name.contains('assembleFreeVersion')) {
task.dependsOn A
task.dependsOn B
B.mustRunAfter A
}
}