Gradle 产生背景
随着敏捷开发实践的崛起,人们从 XML 文件的构建方式,寻求一个可表达且可维护新的构建工具。Gradle就是满足这种需求的新的构建工具。
Gradle 优势
- Gradle 是基于 JVM 构建工具的新一代版本,它融合了 Ant 跟 Maven 中的优点,并且将其优点发挥更加极致。
- Gradle 使用了基于 Groovy 的 DSL,摈弃 XML,更加强大跟表达性强。开发者可以使用 Java,Groovy,Kotlin 等语言去编写构建逻辑。
- Gradle提供了一套依赖管理方式,不仅高度可配置,而且能够 Maven,Ivy 相兼容。Gradle 的依赖管理不仅限于外部库,同时还支持多项目构建,项目之间依赖建模。
- Gradle 还支持对 Ant 跟 Maven 的构建项目进行无缝迁移。
Gradle 特性
- 可表达的构建语言和底层API
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
我们上面看到这些Gradle脚本配置,其实是映射到Gradle API 中的 Project
,ScriptHandler
等实例中,并且调用该实例的对应方法。buildscript {}
便是对应Project
中的buildscript(Closure configureClosure)
函数。
-
gradle 就是 groovy
Gradle 的 DSL 语言就是用 Groovy 实现的,具有很强的可读性跟表达性。开发者可以用熟悉的编程语言表达需要的构建。 -
灵活的约定
Gradle 最主要的思想就是给予引导和有意义的默认值。也就是默认约定项目构建中源代码,单元测试