构建脚本基础 - 任务依赖

优质
小牛编辑
133浏览
2023-12-01

就像你所猜想的那样,
你可以声明任务之间的依赖关系.

例子 6.6. 申明任务之间的依赖关系

build.gradle

  1. task hello << {
  2. println 'Hello world!'
  3. }
  4. task intro(dependsOn: hello) << {
  5. println "I'm Gradle"
  6. }

gradle -q intro 命令的输出

  1. > gradle -q intro
  2. Hello world!
  3. I'm Gradle

intro 依赖于 hello,
所以执行 intro 的时候 hello 命令会被优先执行来作为启动 intro 任务的条件.

在加入一个依赖之前,
这个依赖的任务不需要提前定义,
来看下面的例子.

例子 6.7. Lazy dependsOn - 其他的任务还没有存在

build.gradle

  1. task taskX(dependsOn: 'taskY') << {
  2. println 'taskX'
  3. }
  4. task taskY << {
  5. println 'taskY'
  6. }

gradle -q taskX 命令的输出

  1. > gradle -q taskX
  2. taskY
  3. taskX

taskX 到 taskY 的依赖在 taskY 被定义之前就已经声明了. 这一点对于我们之后讲到的多任务构建是非常重要的.
任务依赖将会在 14.4 具体讨论.

请注意你不能使用快捷注释 (参考 6.8, “快捷注释”) 当所关联的任务还没有被定义.