Gradle简介及生命周期
Gradle简介
gradle主要是由三个部分组成。
- groovy 核心语法:包括 groovy 基本语法、闭包、数据结构、面向对象等等。前面我们已经介绍过了。
- Android DSL(build scrpit block):Android 插件在 Gradle 所特有的东西,我们可以在不同的 build scrpit block 中去做不同的事情。
- Gradle api:包括task,projects,setting等等。
具体如下图:
Gradle优势
- 灵活性:相对于 Maven、Ant 等构建工具,Gradle 提供了一系列的 API 让我们有能力去修改或定制项目的构建过程。
- 粒度性:源码的编译,资源的编译,都是一个一个Task的,我们可以修改task来达到精细控制上。
- 扩展性:Gradle 支持插件机制,所以我们可以复用这些插件,就如同复用库一样简单方便。
- 兼容性:Gradle 不仅自身功能强大,而且它还能兼容所有的Maven、Ant功能,也就是说,Gradle 吸取了所有构建工具的长处。
Gradle生命周期
gradle的生命周期主要是如下三个部分:
- 初始化阶段: 解析setting.gradle文件
- 配置阶段:解析所有的projects对象中的task,主要解析各个project下的build.gradle文件
- 执行阶段:执行project下具体的的task及其依赖task
接下来我们看下gradle的流程图:
将上面流程可以再细化一下,细化之后如下图:
初始化阶段
初始化主要是读取setting.gradle文件中include的projects数量。我们可以通过如下命令查看project数量。
1 | ./gradlew project |
输出如下:
1 | ------------------------------------------------------------ |
配置阶段
配置阶段主要是构造各个project下的task依赖关系图,需要注意的是,执行任何Gradle命令,在初始化阶段和配置阶段的逻辑都会被执行。
执行阶段
配置完成后,便是依次执行指定的task以及依赖的task。
生命周期的监听
在root project的build.gradle中添加如下代码:
1 | /** |
构建后,输出如下:
1 |
|
总结
本文主要是让你对gradle有一个初步对认识,以及gradle的生命周期。接下来我们会介绍最常用project以及task
参考
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 我就是马云飞!
评论