Gradle教學


AntMaven共用在Java市場上相當大的成功。ANT是在2000年發布了第一個版本的工具,它是基於程式程式設計思想的發展。 後來,人們在 Apache-Ivy的幫助下,網路接受外掛和依賴管理的能力有所提升。但主要缺點是使用XML作為一種格式來寫構建指令碼。XML是分層的,不利於程式的程式設計,而且當XML檔案變大以後變得難以管理。

Maven在2004年推出的,它比ANT有一個很大的改進。它改變了結構並且繼續使用XML編寫生成規範。Maven的依賴約定和能夠通過網路下載依賴關係。Maven的主要好處是它的生命週期。雖然接連的多個專案生命週期相同,這是以靈活性為代價的。 Maven也面臨著依賴管理的一些問題。它不會在同一庫版本之間處理好矛盾,複雜的客製化構建指令碼實際上Maven比ANT更難寫。

最後,Gradle於2012年發布,帶來了一些更高效的特點。

Gradle是一個基於Apache Ant和Apache Maven概念的專案自動化建構工具。它使用一種基於Groovy的特定領域語言(DSL)來宣告專案設定,拋棄了基於XML的各種繁瑣組態。 面向Java應用為主。當前其支援的語言限於Java、Groovy和Scala,計劃未來將支援更多的語言。

下面是一些Gradle的功能

  • 按約定宣告構建和建設;
  • 強大的支援多工程的構建;
  • 強大的依賴管理(基於Apache Ivy),提供最大的便利去構建工程;
  • 全力支援已有的 Maven 或者Ivy倉庫基礎建設;
  • 支援傳遞性依賴管理,在不需要遠端倉庫和pom.xml和ivy組態檔案的前提下;
  • 基於groovy指令碼構建,其build指令碼使用groovy語言編寫;
  • 具有廣泛的領域模型支援構建;
  • 深度 API;
  • 易遷移;
  • 自由和開放原始碼,Gradle是一個開源專案,基於 ASL 許可。

為什麼使用Groovy?

完整的Gradle API是使用Groovy語言設計的。這是基於XML內部 DSL 的優點。Gradle是其核心的通用構建工具; 它的主要焦點是Java專案。在這些專案中,團隊成員要熟悉Java,這是為了更好的構建透明,給所有團隊成員的專案。

類似於 Python,Groovy或Ruby語言是最好的構建框架。為什麼Groovy被選中?這是因為它為使用Java的人提供了迄今為止最大的透明度。Groovy的基本語法與Java是一樣的。