为什么在没有依赖项的情况下调用gradle任务?

时间:2019-01-31 17:37:18

标签: java gradle

我有一个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中添加<<。

1 个答案:

答案 0 :(得分:2)

您必须了解gradle的生命周期。签出此链接:Build Lifecycle

任务的值在配置阶段更改。当我们运行任务时,它的执行阶段开始,而配置阶段则在构建过程中运行。