gradle - 当我执行任务时,为什么还要调用配置阶段

时间:2016-03-13 20:49:42

标签: gradle build.gradle gradlew

我的gradle文件中有两个任务,如下所示:

    task aExecutionTask << {

    println 'hello says aExecutionTask, via the execution phase'

}




task aConfigurationTask{

    println 'hello says aConfigurationTask, via the configuration phase'


}

现在从命令行运行: ./gradlew aExecutionTask我希望它只说以下内容:

hello says aExecutionTask, via the execution phase

但是它运行了两个任务,我得到了两个这样的打印输出:

hello says aConfigurationTask, via the configuration phase
hello says aExecutionTask, via the execution phase

当我使用&lt;&lt;执行任务时,为什么它会运行配置阶段?功能?如果我只想运行任务而没有其他任何调用,该怎么办?

更新:感谢此处的回复,我写了blog来帮助其他人:

1 个答案:

答案 0 :(得分:1)

因为配置阶段的目的是配置所有任务,以便gradle知道哪些任务取决于哪些其他任务。这允许gradle确定任务的有向无环图。

然后gradle在执行阶段从您要求执行的任务和此DAG确定必须执行哪些已配置任务。