是什么 ? | : | 任务处理工具 + |
开发语言 | : | Java |
开发公司 | : | Gradle Inc |
官方主页 | : | http://www.gradle.org |
源码仓库 | : | https://github.com/gradle/gradle |
Ant是我们过去构建系统基本都会用到的,XML
脚本文件中包括若干任务(task
),任务之间可以互相依赖, 对于一个大的项目来说,这些XML
文件维护起来的确不是一件容易的事情,还有那些项目依赖的而没有版本号的jar
包,有时真的让人头疼。
后来Maven出现了, 它实现了依赖管理
,相对于Ant来说的确是好了很多,但是,XML
繁琐的问题还是没有解决。
为了摆脱XML
这种繁琐的配置文件,gradle
出现了,它简单,快速,对初学者无苛刻要求,可以说是拿来就会用 ,因为gradle
的配置文件是一种计算机开发语言, 最初使用的是一种基于JVM的动态语言——Groovy, 后来,随着Kotlin的大火,现在也支持Kotlin语言。
如果你是一个Ant的完全支持者,也没有问题, 因为gradle
可以很平滑的来调用Ant的配置文件的。
gradle
也实现了依赖管理
,并且无缝支持Maven中央仓库。
操作系统 | 包管理器 | 安装命令 |
---|---|---|
all | sdkman | sdk install gradle |
Windows | scoop | scoop install gradle |
Windows | Chocolatey | choco install -y gradle |
macOS | HomeBrew | brew install gradle |
GNU/Linux | HomeBrew | brew install gradle |
apt | sudo apt-get install -y gradle | |
CentOS | yum | sudo yum install -y gradle |
dnf | sudo dnf install -y gradle | |
openSUSE | zypper | sudo zypper install -y gradle |
Alpine Linux | apk | sudo apk add gradle |
pacman | sudo pacman -Syyu --noconfirm |
gradle
的版本更新速度非常快,如何让使用不同gradle
版本的项目顺利运行,gradle wrapper
就是为了解决这个问题。
使用gradle wrapper
的工程会多出gradlew
、gradlew.bat
、gradle/waraper/gradle-waraper.jar
、gradle/waraper/gradle-waraper.properties
等4个文件。
可以使用gradle waraper
命令生成这4个文件。
随着构建工具的不断发展,人们总结出了一些最佳实践的规则:
Ant就是不符合这两条规则,所以他用起来就是超级麻烦。
Maven的配置文件使用的是XML
,所以使用起来依然繁琐。
gradle
的配置文件采用软件开发语言,目前支持如下两种:
这两种语言都是基于JVM的语言,Groovy是动态语言
,Kotlin是静态语言
。
动态语言
的IDE
代码提示不好,但是非常灵活。
静态语言
的IDE
代码提示非常好,这有利于我们的编写的正确性和速度。
这两种语言都具有现代语言的诸多特性,比如:闭包
,闭包
是实现DSL
的重要语言特性。