首页 > 解决方案 > Gradle 隐式运行另一个任务

问题描述

我有两个任务

task Hello {
   println 'Hello'
}

task World {
   println 'Hello1'
}

如果我运行World任务Hello也会运行。如果我以这种方式修改我的任务

 task Hello {
      doLast {
          println 'Hello'
      }
    }

    task World {
       println 'Hello1'
    }

那么任务Hello将不会运行。doLast{}或部分如何doFirst{}影响 gradle 中正在运行的任务?

我在 gradle 文档中找不到有关此的信息。谢谢。

标签: gradlebuild.gradle

解决方案


任务 Hello 没有运行。它已配置

花括号内的代码是配置任务的代码。无论您告诉 gradle 运行什么任务,此代码都会始终执行。它必须运行,以便 gradle 知道任务做什么,它依赖于哪个其他任务,它完成了哪个其他任务等。

配置阶段完成后,执行阶段开始。在那个阶段,你要求执行的任务被执行/在那个阶段,传递给的代码doLast正在被执行。

这是文档


推荐阅读