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,确定在执行阶段必须执行哪些已配置的任务,以何种顺序执行。
我的 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,确定在执行阶段必须执行哪些已配置的任务,以何种顺序执行。