Gradle 4.2發(fā)布

責(zé)任編輯:editor004

作者: Amit K Gupta

2017-10-09 11:07:52

摘自:INFOQ

Gradle最近發(fā)布了其流行的構(gòu)建工具的4 2版本,新增了一些重要特性。4 2版本的其他特性還包括Kotlin DSL的增強(qiáng)、支持Google Cloud Storage、支持Play v2 6的自定義Twirl模板以及按需重新構(gòu)建PlayRun任務(wù)。

Gradle最近發(fā)布了其流行的構(gòu)建工具的4.2版本,新增了一些重要特性。其中有項(xiàng)新增特性就是對(duì)于原生的編譯和鏈接任務(wù)支持并行任務(wù)執(zhí)行。關(guān)于這項(xiàng)特性,InfoQ咨詢了Gradle的首席工程師 Eric Wendelin:

Gradle的worker API提供了一種并行執(zhí)行任務(wù)的機(jī)制,借助最大化CPU的利用率減少整體的構(gòu)建時(shí)間。默認(rèn)情況下,Gradle 4.2會(huì)使用worker API來執(zhí)行C/C++/Swift的編譯和鏈接任務(wù)。換句話說,并行任務(wù)執(zhí)行默認(rèn)只會(huì)用于原生任務(wù),目前還沒有用到像Java這樣的其他任務(wù)中,但是我需要說明一點(diǎn),有些Gradle插件已經(jīng)將該特性用到了自己的生態(tài)系統(tǒng)中,實(shí)現(xiàn)并行的任務(wù)執(zhí)行。

Wendelin還補(bǔ)充說,現(xiàn)有的項(xiàng)目如果升級(jí)到最新版本的話也會(huì)從中受益,因?yàn)镚radle 4.2提供了更好的性能,尤其是使用遠(yuǎn)程腳本插件的項(xiàng)目。Gradle 4.2 還提供了更快的構(gòu)建緩存解壓功能,在這樣的構(gòu)建過程中,會(huì)使用zipTree和tarTree進(jìn)行歸檔打包。

下圖來自Gradle的網(wǎng)站,它展現(xiàn)了相對(duì)于v4.1,v4.2所帶來的性能提升。

Gradle 4.2包含了一些面向插件作者的新API,包括嵌套DSL元素、將任務(wù)輸出聲明為發(fā)布制件(artifact),另外,PropertyState類型的屬性支持使用Groovy DSL。按照Wendelin的說法:

最值得一提的是用來創(chuàng)建嵌套DSL元素的新ObjectFactory API,還有一個(gè)新的DSL擴(kuò)展,允許插件作者將給定的文件和目錄聲明為項(xiàng)目的輸出。

4.2版本的其他特性還包括Kotlin DSL的增強(qiáng)、支持Google Cloud Storage、支持Play v2.6的自定義Twirl模板以及按需重新構(gòu)建PlayRun任務(wù)。

在Java 7上運(yùn)行Gradle的支持已經(jīng)處于廢棄狀態(tài),在Gradle 5.0版本將會(huì)徹底移除。

查看英文原文:Gradle 4.2 Is Released

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)