Gradle基礎:1: 簡介與安裝
阿新 • • 發佈:2018-12-22
這篇文章主要介紹一下Grale的主要特性以及安裝方式。
什麼是Gradle
Gradle是一個開源的自動構建工具,在Apache Ant和Apache Maven的相關概念基礎上發展而來,與Maven最大的區別之一在於引入了基於Groovy的DSL語言而非使用繁瑣複雜的XML來進行專案的配置。
Gradle的第一個版本與2007年釋出,截止到目前為止最新版本已經是5.0 RC3,穩定版本在4.10.2(2018/09/20)
概要資訊
專案 | 說明 |
---|---|
開源/閉源 | 開源 |
License類別 | Apache License 2.0 |
開發語言 | Java, Groovy, Kotlin |
當前穩定版本 | 5.0 RC 3(2018/11/15) |
更新頻度 | 平均每月數次 |
特點
- 最為顯著的特點是使用Groovy作為指令碼構建語言,具有更好的擴充套件性
- *支援多個工程
- 與Maven和Ivy相容
- 通過task執行具體操作
- 解決多模組問題
- 解決依賴問題
- 支援多種語言的編譯(Android的官方構建工具)
Gradle vs Maven
關於哪個更好的問題,有人說Maven更好
也有人說Gradle更好,比如Gradle的官方比較:
而stackshare.io目前的調查結果是這樣的:
在來看一下一個稍微有點舊的統計資料,它顯示了Gradle的上升趨勢,Ant已經日薄西山這是事實。
安裝
這系列文章以目前穩定版本4.10.2為例進行演示。
前提條件
基於java的跨平臺特性,Gradle可以執行在大部分主流的作業系統上,所需要的前提僅僅是JDK或者JRE:
- 版本依賴: JDK或JRE7及以上
- Groovy: Gradle自帶Groovy,無需自行安裝,如果已經安裝也會被Gradle所忽略。
安裝方式
- 可以使用一些Package Manager進行安裝,比如MacOS:
brew install gradle
- 或者使用sdk
sdk install gradle 4.10.2
- 也可以使用Gradle釋出的二進位制包,本文使用此種方式
在Mac上下載並解壓之後,如果所示,也可以放到你中意的目錄下,只是後續的環境變數設定保持一致即可。
liumiaocn:gradle liumiao$ ls
gradle-4.10.2 gradle-4.10.2-bin.zip
liumiaocn:gradle liumiao$ ls gradle-4.10.2
LICENSE bin init.d media
NOTICE getting-started.html lib
liumiaocn:gradle liumiao$
環境變數設定
將gradle檔案新增到PATH搜尋路徑中即可,比如可以如下方式寫入profile中。
export GRADLE_HOME=/Library/gradle/gradle-4.10.2
export PATH=$PATH:${GRADLE_HOME}/bin
版本確認
使用gradle -v即可確認gradle版本和相關資訊
liumiaocn:~ liumiao$ gradle -v
Welcome to Gradle 4.10.2!
Here are the highlights of this release:
- Incremental Java compilation by default
- Periodic Gradle caches cleanup
- Gradle Kotlin DSL 1.0-RC6
- Nested included builds
- SNAPSHOT plugin versions in the `plugins {}` block
For more details see https://docs.gradle.org/4.10.2/release-notes.html
------------------------------------------------------------
Gradle 4.10.2
------------------------------------------------------------
Build time: 2018-09-19 18:10:15 UTC
Revision: b4d8d5d170bb4ba516e88d7fe5647e2323d791dd
Kotlin DSL: 1.0-rc-6
Kotlin: 1.2.61
Groovy: 2.4.15
Ant: Apache Ant(TM) version 1.9.11 compiled on March 23 2018
JVM: 1.8.0_191 (Oracle Corporation 25.191-b12)
OS: Mac OS X 10.14 x86_64
liumiaocn:~ liumiao$