无法理解为什么在使用dependsOn
时依赖项任务按字母顺序执行。更使我感到困惑的是行动中的成就书的第84页上的声明In Gradle, the task execution order is not deterministic
。
后来作者继续说It’s important to understand that Gradle doesn’t guarantee the order in which the dependencies of a task are executed.
如果执行顺序是不确定的,则该顺序不应该总是字母顺序的,即应该是随机的。
如果有人可以对此有所启发,那将是很好的。查找了有关gradle任务执行顺序的问题,但是我的问题有点不同,我想知道为什么作者称执行顺序为不确定的,以及为什么他继续说< strong>没有保证的顺序,实际上,通过尝试几个示例我看到的是完全相反的(即,始终按字母顺序排列)。
修改1开始
我的gradle脚本(build.gradle):
version = '0.1-SNAPSHOT'
task first{
doLast{
println "first"
}
}
task second {
doLast{
println "second"
}
}
task fourth {
doLast{
println "fourth"
}
}
task wonder {
doLast{
println "Wonder"
}
}
task thunder {
doLast{
println "thunder"
}
}
task apple {
doLast{
println "apple"
}
}
task printVersion(dependsOn: [second, first, fourth, wonder, thunder, apple]) {
doLast{
logger.quiet "Version: $version"
}
}
task third{
doLast{
println "third"
}
}
third.dependsOn('printVersion')
以下是我每次尝试运行脚本的顺序:
:apple SKIPPED
:first SKIPPED
:fourth SKIPPED
:second SKIPPED
:thunder SKIPPED
:wonder SKIPPED
:printVersion SKIPPED
:third SKIPPED
编辑1 END