天天看點

重磅!!Gradle 6.6 釋出,大幅提升性能!

Gradle 6.6 釋出了!!!

Gradle 是一個基于 Apache Ant 和 Apache Maven 概念的項目自動化建構工具,支援依賴管理和多項目,類似 Maven,但比之簡單輕便。它使用一種基于 Groovy 的特定領域語言來聲明項目設定,而不是傳統的 XML。

此版本最大亮點是引入了一個實驗性選項:配置緩存(Configuration caching),它是一個主要的性能優化特性,可以使 Gradle 跳過建構的配置階段,并盡快開始執行任務。

配置緩存

在運作任何任務之前,Gradle 需要運作配置階段。目前,這是在每次建構調用時完成的,并且會産生大量的開銷,尤其是在大型項目中。

配置緩存通過緩存配置階段的結果并将其重新用于後續建構,進而可以顯著提高建構性能。使用配置緩存,Gradle 可以在不影響建構配置的任何内容發生變化的情況下完全跳過配置階段,如下所示:

重磅!!Gradle 6.6 釋出,大幅提升性能!

此外,啟用配置緩存後,Gradle 能夠優化任務執行,并預設情況下并行執行更多任務。如果你想深入學習 Gradle,關注微信公衆号Java技術棧在背景回複Gradle可以擷取一份完整教程。

目前該特性處于高度試驗階段,預設情況下不啟用或建議用于生産環境。可以通過--configuration-cache在指令行上提供參數或将其添加到運作配置中來啟用此實驗特性。

标準化的運作時類路徑改善緩存命中率

對于最新檢查和建構緩存,Gradle 需要确定兩個任務輸入屬性是否具有相同的值。為此,Gradle 首先将兩個輸入标準化,然後比較結果。

現在,運作時類路徑分析将檢查清單META-INF檔案和屬性檔案,而忽略對注釋、空格和順序差異的更改。此外還可以有選擇地忽略不影響運作時類路徑的屬性。

重磅!!Gradle 6.6 釋出,大幅提升性能!

類路徑上的任何 ZIP 檔案被重新生成并且僅因不重要的值或注釋而不同的情況下,将提高生成高速緩存命中的可能性。

這種規範化最有用的最常見情況是 JAR 檔案,不過它也可以被應用于類路徑上的任何 ZIP 檔案,例如 AAR、WAR 和 APK 檔案。

處理使用者提供的憑證

建構有時會要求使用者提供憑據,例如,為了釋出工件,可能需要憑證才能與工件存儲庫進行身份驗證。将憑據保留在建構腳本之外是一個好習慣。

此版本提供了用于憑證的新 API,該憑證通過建立約定以使用 Gradle 屬性提供憑證來簡化憑證的使用,Gradle 屬性可以作為指令行參數、環境變量或gradle.properties檔案中的值提供給建構環境。當 Gradle 知道某個時候該版本将需要憑證并且憑證已丢失時,它還會執行“快速失效”。

從此版本開始,可以輕松地将用于身份驗證的憑證外部化到工件存儲庫:

重磅!!Gradle 6.6 釋出,大幅提升性能!

上面的憑據将在 Gradle 屬性中使用名稱loginUsername和loginPassword進行搜尋。

此外,此版本還有其它改進,包括對 Java 編譯 --release 标志的支援、檔案系統監視的穩定性改進、依賴管理的改進,以及 bug 修複等,詳情檢視更新說明:

https://docs.gradle.org/6.6/release-notes.html

文章轉載自 OSCHINA 社群 位址:oschina.net/news/117987/gradle-6-6-released

推薦去我的部落格閱讀更多:

1.Java JVM、集合、多線程、新特性系列教程

2.Spring MVC、Spring Boot、Spring Cloud 系列教程

3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程

4.Java、後端、架構、阿裡巴巴等大廠最新面試題

覺得不錯,别忘了點贊+轉發哦!