Gradle引人注目的特性集
生活随笔
收集整理的這篇文章主要介紹了
Gradle引人注目的特性集
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Gradle是一個基于Apache Ant和Apache Maven概念的項目自動化建構工具。它使用一種基于Groovy的特定領域語言來聲明項目設置,而不是傳統的XML。當前其支持的語言限于Java、Groovy和Scala,計劃未來將支持更多的語言。
1、可表達性的構建語言
在Gradle腳本中每一個元素都有一個與Java類一對一的映射。在許多情況下Groovy化的類相對于Java,代碼更加簡潔,并且允許使用如閉包這樣的新語言特性。2、Gradle就是Groovy
Ant和maven這樣杰出的構建工具使用XML來定義他們的構建邏輯。XML很容易讀和寫,但是如果內容太多就不容易維護了。XML并不具備很強的表達性,這使得它很難定義復雜的定制邏輯。Gradle采用一種不同的方式,是一種具有可讀性和表達性的構建語言。能夠用編程語言來表達你需要的構建是Gradle的一大亮點。3、靈活的約定
Gradle針對你的項目給予指導和有意義的默認值。Gradle中的每個Java項目都確切的知道源代碼和測試類文件的位置。但改變默認值也非常的簡單,通過約定屬性即可改變。Gradle的約定和maven提供的約定相似,但不會讓你感覺到被限制。maven非常武斷,它建議一個工程包含一個Java源代碼目錄且只產生一個jar文件。Gradle允許你輕松的打破約定。ant不會給你任何關于如何組織構建腳本方面的指導,以確保最大程度的靈活性。Gradle則折中選擇和,即提供約定,又給予你改變約定的能力。Gradle是不武斷工具上的一個武斷的框架。4、魯棒和強大的依賴管理
項目會依賴第三方組件,你編譯好的組件也可能會被其他團隊所依賴。外部依賴通過倉庫獲得,而倉庫的類型各種各樣,從純文件系統到成熟的企業倉庫。外部依賴還可能存在對其他類庫或資源的引用——傳遞性依賴。Gradle提供了一個基礎設施去管理解析、獲取和存儲依賴的復雜性。一旦他們被下載并存儲到本地緩存中,你的項目就可以使用了。5、可擴展的構建
Gradle支持通過指定任務的輸入和輸出進行增量型構建。它準確的找出哪些任務需要跳過,哪些需要構建或者部分構建。Gradle會負責重新構建需要的部分。 自動化測試、集成測試和功能測試是構建過程的一部分。將需要短時間運行的測試和那些需要準備資源和外部依賴的測試分離是有意義的。Gradle支持測試的并行執行。6、輕松的可擴展性
大部分企業構建都不一樣,它們也不會解決相同的問題。一旦完成了建立基本構建腳本的初始化階段,你就會開始實現定制邏輯。Gradle提供一種可以在類定義中寫定制化邏輯的方法,這樣可以讓維護和編寫代碼更簡單。如果你想要在多個構建或者項目中分享可重用代碼,Gradle提供插件這種擴展機制。而且寫一個插件也非常的簡單。7、和其他構建工具的集成
Gradle與Ant、Maven、Ivy可以做很好的集成。對于Ant,Gradle允許你導入現有的構建邏輯并重用標準的Ant任務。Gradle與maven和Ivy倉庫100%兼容。你可以從中獲取依賴,也可以發布工件。對于已有的maven構建,Gradle提供了一個轉換器可以將構建邏輯轉換為Gradle的構建腳本。8、社區和公司的推動
除了Gradle中標準的插件,Gradle社區幾乎每天都會發布新的功能(可重用的插件)。Gradleware是Gradle背后的技術服務和支持公司。它不僅提供了關于Gradle的專業建議,它的目標更是指向了更大范圍的企業級別的自動化咨詢。總結
總結起來,Gradle是一個為企業準備的構建系統,由具有聲明式和表達性的Groovy的DSL支持。它結合了靈活性和基于約定優于配置思想的擴展性,以及對傳統依賴管理的支持。它背后有一個專業的服務公司(Gradleware)和強大的社區參與,Gradle成為了許多開源項目和企業構建方案的第一選擇。轉載于:https://www.cnblogs.com/zhenyuyaodidiao/p/6892487.html
總結
以上是生活随笔為你收集整理的Gradle引人注目的特性集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对软连接进行cp,rm
- 下一篇: linux基础(一)