Gradle - 概述



在本章中,我們將瞭解開發 Gradle 的必要性、它的特性以及為什麼使用 Groovy 程式語言來開發 Gradle。

Gradle 的歷史

Ant 和 Maven 在 JAVA 市場取得了相當大的成功。Ant 是 2000 年釋出的第一個構建工具,它是在程序式程式設計思想上開發的。後來,藉助 Apache-IVY,它改進了接受外掛和網路依賴管理的能力。

Ant 的主要缺點包括:

  • 使用 XML 作為編寫構建指令碼的格式。
  • 分層結構不利於程序式程式設計,並且
  • XML 相對難以管理。

Maven 於 2004 年推出。它比 ANT 進行了許多改進。它能夠改變其結構,並且可以使用 XML 來編寫構建規範。Maven 依賴於約定,並且能夠下載網路上的依賴項。

Maven 的主要優點包括:

  • Maven 的生命週期,在多個專案中持續遵循相同生命週期。

Maven 在依賴管理方面遇到的一些問題包括:

  • 它不處理同一庫不同版本之間的衝突。

  • 與在ANT中編寫構建指令碼相比,在 Maven 中編寫複雜的自定義構建指令碼比較困難。

最後,Gradle 於 2012 年出現,它結合了這兩個工具的一些高效特性。

Gradle 的特性

Gradle 提供的特性列表。

宣告式構建和約定式構建

  • Gradle 提供了基於 Groovy 語言的獨立領域特定語言 (DSL)。

  • 它提供了宣告式語言元素。這些元素還為 Java、Groovy、OSGI、Web 和 Scala 提供了約定式構建支援。

基於依賴的程式語言

宣告式語言位於通用任務圖之上,可以在構建中得到完全支援。

構建結構

Gradle 允許您將常見的的設計原則應用於您的構建。它將為您提供完美的構建結構,以便您可以設計結構良好且易於維護、易於理解的構建。

強大的 API

透過使用此 API,您可以監控並自定義其配置和執行行為的核心。

Gradle 可擴充套件

Gradle 可以輕鬆提高生產力,從簡單和單個專案構建到大型企業多專案構建。

多專案構建

Gradle 支援多專案構建和部分構建。如果您構建一個子專案,Gradle 會負責構建該子專案所依賴的所有子專案。

不同的構建管理方式

Gradle 支援不同的策略來管理您的依賴項。

Gradle 是首個構建整合工具

Gradle 完全支援您的 ANT 任務、Maven 和 Ivy 儲存庫基礎架構,用於釋出和檢索依賴項。它還提供了一個轉換器,用於將 Maven pom.xml 轉換為 Gradle 指令碼。

易於遷移

Gradle 可以輕鬆適應任何結構。因此,您始終可以在同一個分支中開發您的 Gradle 構建,您可以在其中構建即時指令碼。

Gradle Wrapper

Gradle Wrapper 允許您在未安裝 Gradle 的機器上執行 Gradle 構建。這對於持續整合伺服器非常有用。

免費開源

Gradle 是一個開源專案,並根據 Apache 軟體許可證 (ASL) 許可。

Groovy

Gradle 的構建指令碼是用 Groovy 程式語言編寫的。Gradle 的整體設計都傾向於用作一種語言,而不是一個嚴格的框架。Groovy 允許您編寫自己的指令碼,並進行一些抽象。整個 Gradle API 完全是用 Groovy 語言設計的。

為什麼 Gradle 選擇 Groovy?

完整的 Gradle API 是使用 Groovy 語言設計的。這是內部 DSL 相對於 XML 的優勢。Gradle 是一種通用的構建工具,其主要關注點是 Java 專案。

在這些專案中,團隊成員會非常熟悉 Java,最好讓構建對所有團隊成員儘可能透明。

像 Python、Groovy 或 Ruby 這樣的語言更適合構建框架。選擇 Groovy 的原因是,它為使用 Java 的人員提供了迄今為止最大的透明度。Groovy 的基本語法與 Java 相同,Groovy 為其使用者提供了更多好處。

廣告