gradle - Gradle 隐式运行另一个任务
问题描述
我有两个任务
task Hello {
println 'Hello'
}
task World {
println 'Hello1'
}
如果我运行World
任务Hello
也会运行。如果我以这种方式修改我的任务
task Hello {
doLast {
println 'Hello'
}
}
task World {
println 'Hello1'
}
那么任务Hello
将不会运行。doLast{}
或部分如何doFirst{}
影响 gradle 中正在运行的任务?
我在 gradle 文档中找不到有关此的信息。谢谢。
解决方案
任务 Hello 没有运行。它已配置。
花括号内的代码是配置任务的代码。无论您告诉 gradle 运行什么任务,此代码都会始终执行。它必须运行,以便 gradle 知道任务做什么,它依赖于哪个其他任务,它完成了哪个其他任务等。
配置阶段完成后,执行阶段开始。在那个阶段,你要求执行的任务被执行/在那个阶段,传递给的代码doLast
正在被执行。
这是文档。