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

gradle - when i execute a task why is the configuration phase being called also

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

    task aExecutionTask << {

    println 'hello says aExecutionTask, via the execution phase'

}




task aConfigurationTask{

    println 'hello says aConfigurationTask, via the configuration phase'


}

现在从命令行 i 运行: ./gradlew aExecutionTask 我原以为它只会说以下内容:

hello says aExecutionTask, via the execution phase

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

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

为什么 运行 当我只执行使用 << 功能的执行任务时进入配置阶段?如果我只想 运行 一个任务而不调用其他任何东西怎么办?

更新:感谢这里的回复,我写了一个 blog 来帮助其他人:

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

然后gradle根据您要求执行的任务和这个DAG,确定在执行阶段必须执行哪些已配置的任务,以何种顺序执行。