多任务调用

你可以以列表的形式在命令行中一次调用多个任务.
例如 gradle compile test 命令会依次调用 compile 和 test 任务, 它们所依赖的任务也会被调用. 这些任务只会被调用一次, 无论它们是否被包含在脚本中:即无论是以命令行的形式定义的任务还是依赖于其它任务都会被调用执行.来看下面的例子.

下面定义了四个任务 dist和test 都 依赖于 compile ,只用当 compile 被调用之后才会调用 gradle dist test 任务

示例图 11.1. 任务依赖

Task dependencies

例子 11.1. 多任务调用

build.gradle

  1. task compile << {
  2. println 'compiling source'
  3. }
  4. task compileTest(dependsOn: compile) << {
  5. println 'compiling unit tests'
  6. }
  7. task test(dependsOn: [compile, compileTest]) << {
  8. println 'running unit tests'
  9. }
  10. task dist(dependsOn: [compile, test]) << {
  11. println 'building the distribution'
  12. }

gradle dist test 命令的输出

  1. > gradle dist test
  2. :compile
  3. compiling source
  4. :compileTest
  5. compiling unit tests
  6. :test
  7. running unit tests
  8. :dist
  9. building the distribution
  10. BUILD SUCCESSFUL
  11. Total time: 1 secs

由于每个任务仅会被调用一次,所以调用gradle test test与调用gradle test效果是相同的.