多語言構建工具Gradle發布3.0版本
Gradle 發布了 該多語言構建工具的3.0里程碑版本。這個新發布版本的特性包括:
-
增強的Gradle Daemons:
-
默認啟用
-
查看Gradle Daemons的狀態
-
在Gradle云服務上查看Daemon信息
-
-
更好的IDE支持:
-
增強并行任務的執行
-
對Java 9的初步支持
-
插件增強
Gradle是一個綜合的構建工具,所支持的語言范圍很廣,對于代碼庫由多種語言混合而成的企業來說,它的用處更大。例如, LinkedIn 依賴Gradle來構建他們由 60種語言 所組成的網絡。Gradle還能夠從 Maven 和 Ivy 倉庫導入依賴。
它所支持的語言包括:
-
Java
-
C++
-
Python ( {py}gradle )
-
JavaScript
-
Clojure
-
Scala
Gradle云服務與Build Scans
Gradle云服務 在軟件開發方面添加了新的功能。通過提供 Build Scans ,開發人員能夠將他們的構建記錄放到云端,從而實現與其他人員的協作。為已有的Gradle項目添加 Build Scan 功能需要在 build.gradle 文件中新增如下的代碼:
plugins { id 'com.gradle.build-scan' version '1.1.1' id 'java' } buildScan { licenseAgreementUrl = 'https://gradle.com/terms-of-service' licenseAgree = 'yes' tag 'SAMPLE' link 'GitHub','https://github.com/gradle/gradle-build-scan-quickstart' }
通過執行該命令,這個項目可以進行構建并放到Gradle的云端:
$ gradle build -Dscan
在上面的截圖中,有兩個地方值得注意:
-
將會自動啟動一個Gradle Daemon;
-
會有一個連接指向Gradle的云服務,以便查看構建信息。
在一個簡單的激活過程之后,這個項目構建信息就可以 在線 查看了。
Tim Berglund是 DataStax 的教育主管,同時也是 《Gradle: Beyond the Basics》 一書的作者,他同InfoQ討論了最新版本的Gradle。
InfoQ:目前,你在DataStax的角色是什么呢?
Berglund:我在DataStax擔任教育主管。我負責所有的課程開發、DataStax學院的Web站點( https://academy.datastax.com )以及所有培訓相關的視頻制作。我的團隊幫助人們更加便利地使用我們的旗艦產品,也就是DataStax企業版。
InfoQ:通過Gradle Daemons和云服務這樣的特性,看起來Gradle正在與其他的構建工具拉開距離,如Maven、Ant和Pants。你認為其他的工具會效仿嗎?
Berglund:我完全站在局外人的位置來看這件事,我從來沒有與Gradle公司接觸過,但是我認為,云產品是領先于競爭對手的一個巨大飛躍。我并不期望Ant會效仿Gradle的做法,因為最近這個項目的開發節奏非常慢,而且沒有什么商業考量能夠使其加快研發的速度。我非常期望Maven能夠以某種形式進行回應。這聽起來像是助推器,如果Maven不這樣做的話,我就無法看到一個持續關注企業愿景的構建工具在這方面進行競爭了。
InfoQ:相對于其他的構建工具,你認為是什么讓Gradle獨樹一幟呢?
Berglund:我一直將Gradle視為編寫構建軟件的一組API。的確,它有一個非常簡單的聲明式模式以及執行常規任務的一些標準插件,但在企業級軟件開發中,有一種共同的認識,即構建本身就是企業中一些精心設計的程序,該程序由專門的開發人員來編寫,這些開發人員需要有一個專門的開發工具。這類似于DevOps:我們使用這個術語來描述某種開發人員,他們不僅要管理系統,還要將它們作為專門的領域來進行編程。構建同樣如此,Gradle是支持這種軟件開發模式的唯一構建工具。
InfoQ:你有更新《Building and Testing with Gradle》和/或《Gradle: Beyond the Basics》,將Gradle的新特性包含進來的計劃嗎?
Berglund:很遺憾,我并沒有這樣的規劃,我的關注點已經轉移到其他領域了,而不是繼續編寫這些圖書。這是一個很重要的話題,因此它需要由全部精力都在這方面的人來進行處理。我希望這些修訂能夠在別人的名義下進行。
來自:http://www.infoq.com/cn/news/2016/09/gradle-releases-version-3