在 Gradle 中最重要的两个概念就是 project 和 task。每个构建流程可以有一个或多个项目(project),而项目再由任务(task)组成。
每个task都可以定义doFirst,doLast,用于定义在此task执行之前或之后执行的代码。
task XXXTask {
doFirst {
.... } doLast {
... }}
初始化
分析有哪些module将要被构建,为每个module创建对应的 project实例。这个时候settings.gradle文件会被解析。
配置
处理所有的模块的 build 脚本,处理依赖,属性等。这个时候每个模块的build.gradle文件会被解析并配置(例如dependencies闭包),而且会构建整个task的链表(这里的链表仅仅指存在依赖关系的task的集合,不是数据结构的链表)。
执行