Gradle 是一個開源的建構自動化(build automation)工具。有關建構自動化的定義請參考:
https://en.wikipedia.org/wiki/Build_automation。同時 Gradle 被設計得足夠靈活可以被用來建構幾乎任何類型的軟體。
下面的一些特性是從宏觀上來對 Gradle 的一些特性進行闡述:
高性能
Gradle 通過運作需要運作的任務來避免不必要的工作。因為輸入和輸出可能會改變。你還可以通過啟用建構緩存來讓上一次建構運作的狀态可以被重用,甚至你可以在不同的機器上這樣做(通過共享建構緩存)。
同時 Gradle 還有很多優化的實踐,Gradle 開發小組堅持開發使用來提高 Gradle 的性能。
基于 JVM
Gradle 是運作在 JVM 虛拟機上的,是以你的機器必須要安裝 JDK。針對使用 Java 平台的使用者來說,這會帶來非常大的好處,這些使用者可以在他們的建構(build)邏輯中使用标準的 Java API。包括使用自定義任務類型和插件。同時也能夠讓 Gradle 更加容易的在其他平台上運作。
請注意,Gradle 并不僅僅限制于建構 JVM 項目,甚至被打包用來支援建構原生項目。
可轉換
針對 Java 項目,Gradle 去掉了 Maven 的很多繁瑣功能,能夠更加容易的實作 Maven 的轉換。通過引用合适正确的插件,你可以為你的項目減輕建構腳本的複雜性。
但是這些轉換并不是為了局限你的使用:Gradle 運作你對它們進行重載(override),添加你的自定義任務,為你基于轉換的項目提供更多的自定義功能。
可擴充
你可通過提供你自己的任務類型或者構模組化型來對 Gradle 進行擴充。請參考針對 Android 的建構支援為樣本的示範:可能會添加一些新的建構概念,例如 flavors 和 build types。
支援 IDE
一些主流的 IDE 都能夠允許你導入 Gradle 的建構同時能夠對其進行轉換:Android Studio, IntelliJ IDEA, Eclipse 和 NetBeans。同時 Gradle 也能夠支援建立導入Visual Studio 項目需要的 solution 檔案。
自掃描和修複
建構掃描(Build scans)提供了一個幫助你識别建構錯誤和問題的擴充工具。同時這個工具也能夠更好的幫助你識别和找到可能存在的建構性能問題。
你也可以和其他的使用者分享你的建構掃描,這個分享功能在你希望獲得其他開發人員幫助的時候就非常有用和高效。
https://www.cwiki.us/display/GradleZH/What+is+Gradle