Gradle任务配置与任务执行

问题描述:

下面的代码有什么区别?Gradle任务配置与任务执行

task A { 
println 'configuration' 
} 

task B << { 
println 'action' 
} 

我相信这与评估有关。

即任务A始终评估 而其执行

+0

的可能重复[摇篮总是一个速记符号从任何任务println](http://*.com/questions/23288470/gradle-always-does-println-from-any-task) – Opal 2014-12-05 07:48:24

+0

@Opal我开始在回答之前先查看重复(因为确定这个解释有以前曾多次给过),但当时找不到。此外,我猜这个标题使它更容易找到“相似”的问题... – roomsg 2014-12-05 14:56:36

+0

当然。但每个月都会出现与此完全相同的问题。现在是时候开始标记重复的问题了。 – Opal 2014-12-05 15:08:23

时实际上任务B仅被评估:你的任务A的“调用println”声明将在“配置”阶段执行,而“调用println”声明的B只会在'执行'阶段执行(假设任务B通过任务依赖关系直接或间接运行)

欲了解更多信息,请登录:http://www.gradle.org/docs/current/userguide/build_lifecycle.html。第56.2有一个很好的例子(也展示了第三阶段,作为“初始化”阶段,BTW)

注:“< <”是“doLast”