构建脚本基础 - 使用已经存在的任务

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

当任务创建之后,
它可以通过API来访问.
这个和 Ant 不一样.
举个例子,
你可以创建额外的依赖.

例子 6.9. 通过API访问一个任务 - 加入一个依赖

build.gradle

  1. 4.times { counter ->
  2. task "task$counter" << {
  3. println "I'm task number $counter"
  4. }
  5. }
  6. task0.dependsOn task2, task3

gradle -q task0 命令的输出

  1. > gradle -q task0
  2. I'm task number 2
  3. I'm task number 3
  4. I'm task number 0

或者你可以给一个已经存在的任务加入行为.

例子 6.10. 通过API访问一个任务 - 加入行为

build.gradle

  1. task hello << {
  2. println 'Hello Earth'
  3. }
  4. hello.doFirst {
  5. println 'Hello Venus'
  6. }
  7. hello.doLast {
  8. println 'Hello Mars'
  9. }
  10. hello << {
  11. println 'Hello Jupiter'
  12. }

gradle -q hello 命令的输出

  1. > gradle -q hello
  2. Hello Venus
  3. Hello Earth
  4. Hello Mars
  5. Hello Jupiter

doFirst 和 doLast 可以被执行许多次. 他们分别可以在任务动作列表的开始和结束加入动作.
当任务执行的时候,
在动作列表里的动作将被按顺序执行.
这里第四个行为中 << 操作符是 doLast 的简单别称.