构建任务 - 通用 Task

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

添加一个 plugin 到构建文件中将会自动创建一系列构建任务(build tasks)去执行(注:Gradle 属于任务驱动型构建工具,构建过程基于 Task)。
Java 插件和 Android 插件都会创建以下 Task:

  • assemble
    组合项目所有输出任务
  • check
    执行所有检查任务
  • build
    执行 assemblecheck 两个 task 的所有工作
  • clean
    会清空项目的输出

实际上 assemblecheckbuild 这三个 task 不做任何事情。它们只是一个 Task 标志,用来告诉 plugin 添加实际需要执行的 task 去完成这些工作。

这就允许你去调用相同的 task,而不需要考虑当前是什么类型的项目,或者当前项目添加了什么 plugin。例如,添加了 findbugs plugin 将会创建一个新的 task 并且让 check task 依赖于这个新的 task。当 check task 被调用的时候,这个新的 task 将会先被调用。

在命令行环境中,你可以执行以下命令来获取更多高级别的 task:

  1. gradle tasks

查看所有 task 列表和它们之间的依赖关系可以执行以下命令:

  1. gradle tasks --all

注意:Gradle 会自动监听 task 声明的输入和输出。

多次执行 build task 并且期间项目没有任何改动,Gradle 将会提示所有 task UP-TO-DATE,这意味着不需要再做任何编译工作。这允许 task 之间互相依赖,而不需要额外的构建操作。