【Gradle使用者指南】Gradle特點介紹,gradle使用者指南特點

來源:互聯網
上載者:User

【Gradle使用者指南】Gradle特點介紹,gradle使用者指南特點

    轉載請註明出處:http://blog.csdn.net/zhaokaiqiang1992 

    本篇文章翻譯自《Gradle User Guide》,若想查看原文,請戳http://www.gradle.org/  。

    1.介紹

    我們想介紹Gradle給你,Gradle是一個構建系統,我們認為這是在Java世界裡的一個飛躍式的發展。

    Gradle提供給我們:

    (1)一個像Ant一樣非常靈活的通用構建工具

    (2)一種可切換的,像Maven一樣基於約定的構建架構,約定優於配置

    (3)強大的對於多工程構建的支援

    (4)強大的基於Apache lvy的依賴管理

    (5)完全支援現有的Maven和lvy倉庫

    (6)支援傳遞性依賴管理,而不需要遠程倉庫或者是pom.xml和ivy.xml檔案

    (7)非常適合構建Ant tasks和build

    (8)Groovy構建指令碼

    (9)非常豐富的領域模型來描述你的構建

     在第二單元,你會發現更多的關於Gradle的概述,除此之外,還有更多的教程在等著你,學的高興:-)


    1.1關於這個使用者指導

    關於這個使用者指南,就像是Gradle本身,正在處于飛速發展中。關於Gradle的一些部分還沒有完成,有一些內容不準確,或者假定你已經知道了很多關於Gradle的知識。我們需要你去完善這個使用者指南,你可以在Gradle的官網上找到更多的文檔。

    在這份文檔中,你會發現一些圖表,用來表示task之間的依賴關係。這些工具類似於UML中的依賴符號,第一個task指向另外一個task,代表第一個task依賴於另一個。

    

    2.概述    2.1特點

    下面的列表是Gradle的特點:

    (1)聲明構建和協議構建

    Gradle的核心是基於Groovy的豐富的可擴充的領特定領域語言(DSL),通過提供你自訂的聲明語言元素,Gradle把依賴關係傳遞到下一層中,這些元素也提供了對很多語言的協議構建支援,比如java、Groovy,OSGI,Web和Scala項目。甚至,聲明語言是可擴充的,你可以有自己的新語言元素或者是加強現有的。這樣,就提供了一個簡潔、易於維護和理解的構建過程。

     (2)依賴型程式設計語言

    聲明式的語言構建於一個通用的任務圖之上,在你的構建任務重可以充分的利用。它提供了適應你獨特需求的最大靈活度的工具。

     (3)結構化構建

    Gradle的靈活性和和豐富性允許你用通用的設計原則來構建項目。比如說,構建可重用的的邏輯塊的邏輯非常簡單。不要試圖去強迫拆散本應該在一起的東西,比如說是項目的階層。這樣可以避免項目太分散,因為分散的項目會導致你的構建過程變成一個噩夢!最後,你可以構建一個結構良好、易於維護、理解的構建過程。

    (4)深度API

    在構建執行的整個生命週期裡,你可以嵌入很多的鉤子,Gradle允許你檢測和自訂配置和執行非常核心的行為。

    (5)Gradle Scales

    Gradle Scales 非常好,它可以增加你的生產力。從簡單的單項目到企業的多項目構建都可以。隨著功能的增加,它可以解決很多大型企業構建過程中的問題。

    (6)多項目構建

    Gradle對多項目構建的支援非常好,Gradle還提供了部分構建,如果你構建一個單項目,那麼Gradle會構建整個項目的目錄,在多項目的構建中,你可以選擇構建部分項目,增量構建可以大大的節省你的時間。

    (7)很多方式管理依賴

    不同的團隊喜歡使用不同的方式來管理外部依賴,Gradle為所有的方式都提供了支援。你可以使用遠端依賴管理庫,比如Maven和ivy或者是本地的檔案系統。

    (8)Gradle是第一個整合的構建工具

    Ant的task是支援的,更有趣的事,Ant的project也是支援的。Gradle為Ant的項目提供了深度支援,在運行時可以把Ant的targets轉換城本地的Gradle任務。你可以在Gradle中依賴或者是改進Ant,你甚至可以在Gradle的任務重宣布對build.xml的依賴。Gradle支援現有的Maven倉庫和Ivy倉庫,Gradle還提供了將Maven的pom.xml轉換成Gradle指令碼的工具。Maven項目的運行時匯入時代即將到來。

    (9)容易遷移

    Gradle可以適應你有的任何結構,因此你可以在項目啟動並執行生產環境中進行項目構建,我們通常建議寫一個測試程式來保證項目正常運行,使用Gradle可以儘可能的減少項目遷移出現的問題,這也是進行項目重構的最佳實務,也就是“baby steps”。

    (10)Groovy

    Gradle使用Grovvy來寫指令碼,而不是XML,這是因為Groovy比XML的可讀性更好。Gradle的設計並不是要提供一個嚴格的架構。Gradle提供了一些標準,但是並不是不能修改的。這是Gradle和其他聲明性構建系統的區別和特色。Groovy不僅僅是糖衣,添加Groovy得到了一個愉快和富有成效的經驗。

    (11)Gradle Wrapper

    Gradle Wrapper 允許你在沒有安裝Gradle的機器上運行Gradle指令碼,在一些持久性的整合服務器上是非常有用的。

    (12)免費開源

    Gradle是開源項目,並且採用是ASL協議授權。


    2.2為什麼採用Groovy?

    我們認為領特定領域語言(基於動態語言)相對於XML在構建指令碼方面是優勢巨大的。有很多動態語言,為什麼選擇Groovy呢?原因在與進款gradle是一個通用的構建工具,但是主要工作核心還是Java項目。在這樣的項目組裡面,每個人都是熟悉Java的,所以我們希望對所有成員都能夠足夠透明。

    在這種情況下,你可能會問我們為什麼不直接使用java作為構建指令碼語言呢?這是因為雖然Java很強大,但是也有局限性,在這種需求下不如Python、Groovy、Ruby強大,Java太複雜了。而Groovy即有和Java相同的基礎,也有它自己的特點。

    對於Java開發人員與Python或Ruby知識或學習的慾望,上述論點並不適用。它的設計非常適合在JRuby建立另一個構建指令碼引擎或Jython。只是沒有我們的最高優先順序。我們非常支援任何社區去努力建立額外的構建指令碼引擎。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.