01. Gradle-理解构建声明周期.md
我们之前说过,Gradle 的核心是一种基于依赖关系的编程语言。在 Gradle,这意味着您可以定义任务和任务之间的依赖关系。Gradle 保证这些任务按照其依赖项的顺序执行,并且每个任务只执行一次。这些任务形成了一个有向无环图。有些构建工具在执行任务时构建这样的依赖关系图。在任何任务执行之前,Gradle 构建完整的依赖关系图。这是 Gradle 的心脏地带,使许多在其他地方不可能实现的事情成为可能。
构建脚本配置这个依赖关系图。因此,严格来说,它们是构建配置脚本。
Build phases 构建阶段
一个 Gradle 构建有三个不同的阶段。
- Initialization 初始化 Gradle 支持单个和多个项目的构建。在初始化阶段,Gradle 确定哪些项目将参与构建,并为每个项目创建一个 Project 实例。
- Configuration 配置 在此阶段配置项目对象。执行构建的所有项目的构建脚本。
- Execution 执行 Gradle 确定要执行的任务的子集,这些任务是在配置阶段创建和配置的。子集由传递给 gradle 命令和工作目录的任务名参数决定。然后,Gradle 执行所选择的每个任务。