我的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来帮助其他人:
答案 0 :(得分:1)
因为配置阶段的目的是配置所有任务,以便gradle知道哪些任务取决于哪些其他任务。这允许gradle确定任务的有向无环图。
然后gradle在执行阶段从您要求执行的任务和此DAG确定必须执行哪些已配置任务。