gradle task执行顺序
gradle  ·  
刚开始用gradle,临急抱佛脚,走了很多弯路。
task 执行顺序
下面有一个task hello:
task hello {
}
hello {
println 'Hello nothing1'
}
hello.doFirst {
println 'Hello first1'
}
hello << {
println 'Hello <<1'
}
hello.doLast {
println 'Hello last1'
}
hello << {
println 'Hello <<2'
}
hello {
println 'Hello nothing2'
}
hello.doFirst {
println 'Hello first2'
}
hello << {
println 'Hello <<3'
}
hello.doLast {
println 'Hello last2'
}
hello << {
println 'Hello <<4'
}
他的执行结果是:
Hello nothing1
Hello nothing2
Hello first2
Hello first1
Hello <<1
Hello <<2
Hello last1
Hello <<3
Hello <<4
Hello last2
Hello <<5
由此可以得出:
task内顺序:
- 什么都不写是init块,最先执行
-
doFirst块,且后定义的先执行
-
doLast块(<<等同于doLast,属于简写),且先定义的先执行
task间顺序
这里我写了一个task bye,并dependsOn hello,其余和hello一样。
结果是:
Hello nothing1
Hello nothing2
Bye nothing1
Bye nothing2
Hello first2
Hello first1
Hello <<1
Hello <<2
Hello last1
Hello <<3
Hello <<4
Hello last2
Hello <<5
Bye first2
Bye first1
Bye <<1
Bye <<2
Bye last1
Bye <<3
Bye <<4
Bye last2
Bye <<5
结果是:
先执行各个task的init块,再根据task之间依赖关系顺序执行
版权所有,转载请注明出处:
https://sickworm.com/?p=66