Gradle教程


Ant和Maven共享在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是一樣的。