Gradle隐式运行另一个任务

时间:2018-07-21 17:57:30

标签: gradle build.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文档中找不到有关此信息。谢谢。

1 个答案:

答案 0 :(得分:2)

任务Hello不能运行。已配置

花括号内的代码是配置任务的代码。无论您告诉gradle运行什么任务,该代码始终会执行。它必须运行,以便gradle知道任务的作用,它依赖的其他任务,完成的任务等。

配置阶段完成后,执行阶段开始。在该阶段中,您要执行的任务已执行/在该阶段中,正在执行传递给doLast的代码。

这里是the documentation