(2.2.10.2)Gradle 工作流程

Gradle 的工作流程其实蛮简单,用一个图 26 来表达:

图 26 告诉我们,Gradle 工作包含三个阶段:

  • 首先是初始化阶段。对我们前面的 multi-project build 而言,就是执行 settings.gradle
  • Initiliazation phase 的下一个阶段是 Configration 阶段。
  • Configration 阶段的目标是解析每个 project 中的 build.gradle。比如 multi-project build 例子中,解析每个子目录中的 build.gradle。在这两个阶段之间,我们可以加一些定制化的 Hook。这当然是通过 API 来添加的。
  • Configuration 阶段完了后,整个 build 的 project 以及内部的 Task 关系就确定了。恩?前面说过,一个 Project 包含很多 Task,每个 Task 之间有依赖关系。Configuration 会建立一个有向图来描述 Task 之间的依赖关系。所以,我们可以添加一个 HOOK,即当 Task 关系图建立好后,执行一些操作。
  • 最后一个阶段就是执行任务了。当然,任务执行完后,我们还可以加 Hook。

下面展示一下我按图 26 为 posdevice 项目添加的 Hook,它的执行结果:

我在:

  • settings.gradle 加了一个输出。
  • 在 posdevice 的 build.gradle 加了图 25 中的 beforeProject 函数。
  • 在 CPosSystemSdk 加了 taskGraph whenReady 函数和 buidFinished 函数。

好了,Hook 的代码怎么写,估计你很好奇,而且肯定会埋汰,搞毛这么就还没告诉我怎么写 Gradle。马上了!

最后,关于 Gradle 的工作流程,你只要记住:

  • Gradle 有一个初始化流程,这个时候 settings.gradle 会执行。
  • 在配置阶段,每个 Project 都会被解析,其内部的任务也会被添加到一个有向图里,用于解决执行过程中的依赖关系。
  • 然后才是执行阶段。你在 gradle xxx 中指定什么任务,gradle 就会将这个 xxx 任务链上的所有任务全部按依赖顺序执行一遍!

下面来告诉你怎么写代码!
\ No newline at end of file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值