我有一个gradle任务,在打印变量值时我想忽略它。我不明白为什么要调用它,并且值在变化。
def value = 'something'
task changeValue() {
value = 'somethingElse'
}
task printTask() {
println "${value}"
}
要打印的值应为something
。为什么somethingElse
被打印出来?
编辑:
现在我有
task changeValue() << {
value = 'somethingElse'
}
因此,这仅在执行阶段得到执行。
但是现在,如果我将打印任务更改为
task printTask(dependsOn: changeValue) {
println "${value}"
}
我希望打印somethingElse
。但是现在我只打印出something
。
编辑2:也忘记在printTask中添加<<。
答案 0 :(得分:2)
您必须了解gradle的生命周期。签出此链接:Build Lifecycle
任务的值在配置阶段更改。当我们运行任务时,它的执行阶段开始,而配置阶段则在构建过程中运行。