Gradle Task dependsOn多个参数执行顺序
task first {
doLast {
println "+++++first+++++"
}
}
task second {
doLast {
println "+++++second+++++"
}
}
task third(dependsOn :[second,first]) {
doLast {
println "+++++third+++++"
}
}
如上代码,task third依赖task second和task first。
结论:若当前任务依赖多个任务,先执行依赖的任务(first,second),再执行当前任务(third),但依赖的任务的执行顺序是由Gradle决定,first和second没有依赖关系,因此执行顺序是随机的。
可能的执行结果为:
// 1
E:\android\GradleTest>gradle third
> Task :app:first
+++++first+++++
> Task :app:second
+++++second+++++
> Task :app:third
+++++third+++++
// 2
E:\android\GradleTest>gradle third
> Task :app:second
+++++second+++++
> Task :app:first
+++++first+++++
> Task :app:third
+++++third+++++
PS:
Q:可以自定义first和second的执行顺序
A:可以通过mustRunAfter和shouldRunAfter方法进行自定义,但几乎不会用到