概述
Gradle是开源的自动构建工具,一句话:可以构建几乎所有的软件。
特性
1.高性能
Gradle构建时只会执行必须的Task,绝不干多余的事,还可以使用Cache复用一些Task的产出,这些都是可以配置的
2.基于Java生态
Gradle是运行在JVM上的,这样的好处就是可以用Java语言写脚本,同时可以让Gradle运行到不同的平台上,虽然Gradle运行在JVM但是不代表它只能编译JVM的项目
3.方便
Gradle使用起来很方便,声明也很简单,还可以重写复用,轻松订制你想要的功能
4.易于扩展
非常容易扩展,从而实现你自己的特有功能
5.支持IDE
支持大部分主流IDE
6.易于调试
构建过程中可以输出丰富的信息,帮助你调试和查找问题
5个关于Gradle必须知道的事
-
Gradle是通用构建工具 Gradle可以构建任何软件,只要你能将构建任务分解成几个步骤。Gradle最明显的限制就是,它的依赖管理目前只支持Maven、Ivy和文件管理系统。但这不意味着你要做很多工作,因为Gradle给你提供了很多插件,你也可以封装发布自己特有的插件。
-
Gradle核心是基于Task Gradle的Task基于有向无环图(Directed Acyclic Graphs (DAGs)),通过DAG组织触发这些Task,由DAG决定这些Task的执行顺序。DAG也是Gradle如此弹性的所在。Task的DAG可以通过插件和自定义的脚本控制。
Task的主要组成
- 动作
- 输入
- 输出 最后,Gradle支持增量构建,所以尽量不要使用clean,除非必要。
- Gradle固定的构建步骤,也是生命周期
- 初始化:准备环境,决定那个项目参与构建
- 配置:创建Task DAG,确定哪些Task需要执行
- 执行:执行Task 配置阶段将看不到代码方面的变化,所以最好把重要的任务放在执行阶段
- Gradle的扩展方式有很多种
- 自定义任务类型
- 自定义任务动作
- 自定义配置文件
- 复用已有的配置
- 自定义Gradle没有的大模块
- 基于API操作脚本 看看脚本的源码,理解脚本和GradleApi之间的映射关系,还要看看Groovy DSL和Java 的语法,这样可以帮你高效使用Gradle