Gradle 8.0 發(fā)布
Gradle團隊很興奮地宣布了一個新的主要版本Gradle,8.0。這個主要版本有突破性的變化;請參考Gradle 7.x升級指南尋求指導。
此版本包括對的幾項改進科特林DSL。這包括一個解釋器來跳過聲明性插件的Kotlin編譯器,并升級到Kotlin API級。
內(nèi)置版本的許多好處現(xiàn)在都可以從buildSrc,比如跑步buildSrc直接執(zhí)行任務,跳過測試,并使用buildSrc。就目前而言,包含的構(gòu)建仍然有一些優(yōu)勢,這些優(yōu)勢將被合并到buildSrc在未來的版本中。
此外,我們還對配置緩存。這包括通過從緩存條目加載任務并在首次構(gòu)建時獨立運行任務來實現(xiàn)更細粒度的并行性。
下載連接:點擊進入快速下載
升級說明
通過更新您的包裝器,切換您的構(gòu)建以使用Gradle 8.0:
./gradlew wrapper --gradle-version=8.0
參見Gradle 7.x升級指南了解升級到Gradle 8.0時的棄用、重大變更和其他注意事項。
關(guān)于Java、Groovy、Kotlin和Android兼容性,請參見完全兼容性說明.
新功能、性能和可用性改進
科特林DSL
格拉德的科特林DSL為傳統(tǒng)的Groovy DSL提供了一種替代語法,在支持的ide中具有增強的編輯體驗,提供了卓越的內(nèi)容幫助、重構(gòu)、文檔等等。
改進的腳本編譯性能
Gradle 8.0為聲明性插件{}塊在.gradle.kts使總體構(gòu)建時間加快20%左右的腳本。為聲明性調(diào)用Kotlin編譯器plugins {}默認情況下避免使用塊。
要利用這種性能,請確保在聲明性的plugins {}塊,例如:
plugins {
id("java-library") // <1>
id("com.acme.example") version "1.0" apply false // <2>
kotlin("jvm") version "1.7.21" // <3>
}
- 通過插件標識符字符串的插件規(guī)范
- 帶有版本和/或插件應用程序標志的插件規(guī)范
- Kotlin插件規(guī)范助手
注意為插件使用版本目錄別名(例如plugins { alias(libs.plugins.acme) })或插件規(guī)范類型安全訪問器(例如plugins { acme-plugin
})不受支持plugins {}塊解釋程序。這種支持將在以后的版本中添加。
在不支持的情況下,Gradle會退回到Kotlin編譯器,提供與以前的Gradle版本相同的性能。
有關(guān)插件語法的更多信息,請閱讀受限語法.
將Kotlin DSL更新為Kotlin API級
以前,Kotlin DSL使用Kotlin API級。從Gradle 8.0開始,Kotlin DSL使用Kotlin API級。這一變化帶來了自Kotlin 1.4.0以來對Kotlin語言和標準庫的所有改進。
有關(guān)此升級中的重大和非重大變更的信息,請訪問升級指南.
增強腳本編譯以使用Gradle JVM作為Kotlin JVM目標
以前,匯編的.gradle.kts腳本總是使用Java 8作為Kotlin JVM目標。從Gradle 8.0開始,它現(xiàn)在使用運行構(gòu)建的JVM版本。
如果您的團隊正在使用Java 11來運行Gradle,這允許您在構(gòu)建腳本中使用Java 11庫和語言特性。
請注意,這不適用于預編譯腳本插件,見下文。
預編譯腳本插件現(xiàn)在使用配置的Java工具鏈
以前,匯編的預編譯腳本插件使用了上配置的JVM目標kotlinDslPluginOptions.jvmTarget.
從Gradle 8.0開始,它現(xiàn)在使用配置的Java工具鏈,如果沒有配置,則為Java 8。
參見kotlin-dsl插件手冊有關(guān)如何為預編譯腳本插件配置Java工具鏈的更多信息,以及遷移指南了解更多關(guān)于行為改變的信息。
buildSrc版本的改進
此版本包括對的幾項改進buildSrc構(gòu)建的行為更像包含的版本。包含的構(gòu)建是組織構(gòu)建邏輯以分離項目配置的另一種方法,以便更好地利用增量構(gòu)建和任務緩存。現(xiàn)在他們提供同樣的好處。
奔跑buildSrc直接任務
現(xiàn)在可以運行buildSrc從命令行構(gòu)建,使用與包含的構(gòu)建任務相同的語法。例如,您可以使用gradle buildSrc:build運行build中的任務buildSrc建造。
有關(guān)更多詳細信息,請參見用戶手冊
buildSrc可以包括其他版本
這buildSrcbuild現(xiàn)在可以通過在buildSrc/settings.gradle.kts或者buildSrc/settings.gradle。這允許您更好地組織您的構(gòu)建邏輯,同時仍然使用buildSrc.
你可以用pluginsManagement { includeBuild(someDir) }或者includeBuild(someDir)在此設置腳本中包含其他構(gòu)建buildSrc.
有關(guān)更多詳細信息,請參見用戶手冊
測試buildSrc不再自動運行
當Gradle建立輸出buildSrc它只運行產(chǎn)生該輸出的任務。它不再運行build任務。特別是,這意味著測試buildSrc并且它的子項目不會在不需要的時候構(gòu)建和執(zhí)行。
您可以運行以下測試buildSrc與其他項目一樣,如上所述。
初始化腳本適用于buildSrc
在命令行上使用指定的Init腳本–init-script現(xiàn)在應用于buildSrc除了主版本和所有包含的版本之外。
有關(guān)更多詳細信息,請參見用戶手冊
配置緩存
這配置緩存通過緩存配置階段的結(jié)果并在后續(xù)構(gòu)建中重用它來縮短構(gòu)建時間。這是一個可以顯著提高構(gòu)建性能的孵化特性。
首次運行時改進了并行性的配置緩存
配置緩存現(xiàn)在比使用并行執(zhí)行。從Gradle 8.0開始,當使用配置緩存時,任務從第一個構(gòu)建開始并行運行。
當它重用一個配置緩存入口。默認情況下,所有任務都是并行運行的,即使是在同一個項目中的任務,也會受到依賴關(guān)系的限制?,F(xiàn)在,它在存儲緩存條目時也會這樣做。
當配置緩存啟用并且Gradle能夠為當前構(gòu)建找到一個兼容的緩存條目時,它將從緩存中加載任務并獨立運行它們。如果Gradle找不到合適的緩存條目,它將運行配置階段來確定必要的任務,將它們存儲在一個新的緩存條目中,然后根據(jù)保存的狀態(tài)立即運行構(gòu)建。
這種新行為有幾個好處:
反序列化期間發(fā)生的任何問題都將更容易檢測到,因為它們將在緩存未命中構(gòu)建中報告。
任務在緩存未命中和緩存命中構(gòu)建中具有相同的狀態(tài),允許構(gòu)建之間的一致性。
在緩存未命中構(gòu)建中執(zhí)行任務之前,Gradle可以釋放配置狀態(tài)所使用的內(nèi)存,從而降低內(nèi)存使用峰值。
緩存未命中和緩存命中構(gòu)建之間的這種一致行為將有助于那些過渡到使用配置緩存的人,因為在第一次(緩存未命中)構(gòu)建時可以發(fā)現(xiàn)更多的問題。
有關(guān)更多詳細信息,請參見用戶手冊.
改進了與核心插件的兼容性
這gradle init命令可以在啟用配置緩存的情況下使用。
這ANTLR插件和Groovy DSL預編譯腳本現(xiàn)在與配置緩存兼容。
所有核心Gradle插件的配置緩存支持的當前狀態(tài)可以在配置緩存文檔.
Java工具鏈的改進
更新的工具鏈下載庫
Gradle 7.6推出工具鏈倉庫增加靈活性。在Gradle 8.0中,不再有默認的工具鏈供應器。您必須顯式聲明至少一個Java工具鏈存儲庫。這可以通過工具鏈庫插件來完成,比如Foojay工具鏈插件:
plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version("0.4.0")
}
有關(guān)更多詳細信息,請參見用戶手冊.
總體改進
改進的Gradle用戶主緩存清理
以前,清理Gradle user home中的緩存使用固定的保留期(30天或7天,具體取決于緩存)?,F(xiàn)在可以通過配置這些保留期設置Gradle用戶主目錄中初始化腳本中的對象。
beforeSettings { settings ->
settings.caches {
downloadedResources.removeUnusedEntriesAfterDays = 45
}
}
此外,以前只能通過org.gradle.cache.cleanupGradle用戶主頁中的Gradle屬性。禁用緩存清理現(xiàn)在會影響Gradle用戶主頁下的更多緩存,也可以通過設置Gradle用戶主目錄中初始化腳本中的對象。
有關(guān)更多詳細信息,請參見用戶手冊.
增強型警告模式all和fail現(xiàn)在更加冗長
在Gradle 8.0之前,應該打印所有警告的警告模式對于每個特定的警告消息只打印一個。這導致一些警告消息丟失。例如,如果有兩個警告具有相同的消息,但來自于構(gòu)建過程的不同步驟(即不同的堆棧跟蹤),則只打印一個。
現(xiàn)在,為消息和堆棧跟蹤的每個組合打印一個。這個結(jié)果更詳細,但也更完整。
有關(guān)更多詳細信息,請參見用戶手冊.
改進的依賴性驗證元數(shù)據(jù)
依賴性驗證元數(shù)據(jù)通過確保所使用的依賴項與該依賴項的校驗和相匹配,有助于保持項目的安全。這個元數(shù)據(jù)位于一個XML配置文件中,現(xiàn)在接受一個原因?qū)傩浴_@個原因?qū)傩栽试S更詳細地了解為什么一個工件是可信的,或者為什么一個工件需要直接在verification-metadata.xml.
以下節(jié)點帶有依賴關(guān)系驗證元數(shù)據(jù)文件verification-metadata.xml現(xiàn)在支持areason屬性:
·的trust下的xml節(jié)點trusted-artifacts ·的md5, sha1,
sha256和sha512以下節(jié)點component
原因有助于提供關(guān)于為什么工件是可信的,或者為什么工件需要直接在verification-metadata.xml.
有關(guān)更多詳細信息,請參見用戶手冊.
改進的依賴性驗證CLI
為了最小化CI構(gòu)建與關(guān)鍵服務器通信的次數(shù),我們使用本地密鑰環(huán)文件。應該經(jīng)常導出該文件以保持準確性。導出可信密鑰時不再需要編寫驗證元數(shù)據(jù),從而簡化了流程。
您現(xiàn)在可以使用export-keys用于導出所有已信任密鑰的標志:
./gradlew --export-keys
導出可信密鑰時,不再需要編寫驗證元數(shù)據(jù)。
有關(guān)更多詳細信息,請參見用戶手冊.
代碼質(zhì)量插件改進
CodeNarc插件檢測Groovy運行時版本
CodeNarc為Groovy項目執(zhí)行靜態(tài)分析。它現(xiàn)在發(fā)布了單獨的版本用于Groovy 4。Gradle目前仍然附帶Groovy 3。
為了確保未來的兼容性CodeNarc插件現(xiàn)在自動檢測當前Groovy運行時的適當CodeNarc版本。
屬性,您仍然可以顯式指定CodeNarc版本toolVersion上的屬性代碼擴展.
默認情況下,并行執(zhí)行增強的PMD任務
這PMD插件使用靜態(tài)代碼分析器對項目的Java源文件進行質(zhì)量檢查。它現(xiàn)在使用Gradle工作API和JVM工具鏈。該工具現(xiàn)在通過外部工作進程執(zhí)行分析,因此它的任務現(xiàn)在可以在一個項目中并行運行。
在Java項目中,該工具將使用項目所需的相同版本的Java。在其他類型的項目中,它將使用與Gradle守護進程相同的Java版本。
有關(guān)更多詳細信息,請參見用戶手冊.
提升的功能
升級功能是在Gradle的早期版本中醞釀的功能,但現(xiàn)在受到支持并具有向后兼容性。請參閱“用戶手冊”一節(jié)功能生命周期”了解更多信息。
以下是此Gradle版本中提升的功能。
工具API中提升的特性
這GradleConnector.disconnect()方法現(xiàn)在被認為是穩(wěn)定的。
antlr插件中的升級特性
這AntlrSourceDirectorySet接口現(xiàn)在被認為是穩(wěn)定的。
ear插件中的升級功能
這Ear.getAppDirectory()方法現(xiàn)在被認為是穩(wěn)定的。
eclipse插件中提升的特性
這EclipseClasspath.getContainsTestFixtures()方法現(xiàn)在被認為是穩(wěn)定的。
groovy插件中提升的特性
以下類型和方法現(xiàn)在被認為是穩(wěn)定的:
GroovySourceDirectorySet
GroovyCompileOptions.getDisabledGlobalASTTransformations()
scala插件中提升的特性
這ScalaSourceDirectorySet接口現(xiàn)在被認為是穩(wěn)定的。
war插件中的升級功能
這War.getWebAppDirectory()方法現(xiàn)在被認為是穩(wěn)定的。
中提升的功能Settings應用程序接口
這些方法Settings.dependencyResolutionManagement(Action)和Settings.getDependencyResolutionManagement()現(xiàn)在已經(jīng)穩(wěn)定了。
中的所有方法DependencyResolutionManagement現(xiàn)在穩(wěn)定了,除了中央存儲庫聲明。文章來源:http://www.zghlxwxcb.cn/news/detail-446865.html
已修復問題
208個問題在Gradle 8.0中得到修復。文章來源地址http://www.zghlxwxcb.cn/news/detail-446865.html
- [#23316] -CVE-2022-36033:“jsoup”插件的凸起版本
- [#23293] -"運行工作時無法取得進展"以及-繼續(xù)和失敗的任務
- [#23253] - ZipFileTree緩存不考慮重定位的構(gòu)建目錄
- [#23193] - compileScala拋出Java . lang . unsupportedoperationexception從8.0開始-milestone-5
- [#23148] -導致原因:Java . lang . classcastexception:class com . Android . build . grad le . internal . plugins . app plugin $ ApplicationAndroidComponentsExtensionImplCompat _ Decorated不能強制轉(zhuǎn)換為類kotlin。單位
- [#23141] -不要將損壞的值存儲到配置緩存中
- [#23139] -存儲配置緩存條目后,不要丟棄作為生成事件偵聽器的生成服務
- [#23137] -CVE-2022-31159:“AWS-Java-SDK-S3”插件的補丁版本
- [#23130] -決定是繼續(xù)使用語言為1.5的Kotlin 1.7,還是從8.0遷移到語言為1.8的Kotlin 1.8
- [#23121] -在8.0中,構(gòu)建服務使用配置緩存關(guān)閉了兩次
- [#23116] -填充構(gòu)建操作隊列時失敗:尚未計算未知值的值。
- [#23067] -Gradle 7.6中斷了java模塊的增量編譯
- [#23066] -更容易調(diào)試增量任務執(zhí)行中的編譯器事務路徑選擇
- [#23027] -在9.0而不是8.0中更改要刪除的自定義布局的棄用
- [#22964] -Scala 3沒有觀察到增量編譯
- [#22955] -在命令行中錯誤指定@Option時顯示用法信息(例如描述)
- [#22952] -grad le 8.0-milestone 4中的compileElements引入的變量模糊性
- [#22949] - IDE導入在啟用項目隔離的情況下失敗:在enterDynamicCall之后應調(diào)用unreportedProblemInCurrentCall
- [#22944] - HashMap N o d e 不能轉(zhuǎn)換為 j a v a . u t i l . H a s h M a p Node不能轉(zhuǎn)換為java.util.HashMap Node不能轉(zhuǎn)換為java.util.HashMapTreeNode類
- [#22918] -JacocoReportAggregationPlugin不適用于鎖定文件
- [#22889] -在8.0版的穩(wěn)定配置緩存中,任務相關(guān)性訪問成為錯誤
- [#22859] -將嵌入式Kotlin升級到1.7.21
- [#22853] -斷言在Kotlin 1.7.21的FinalizerGroup中失敗
- [#22839] -啟動JaCoCo進程時使用java代理jar的絕對路徑
- [#22836] -Gradle用戶指南中的死Javadoc鏈接
- [#22824] -刪除不推薦使用的pluginindependenciesspecextensions構(gòu)建掃描方法
- [#22822] -解釋不推薦的DependencyHandlerScope約束方法的必要性
- [#22803] - Java工具鏈自動配置因權(quán)限錯誤而失敗
- [#22750] -Docs:USER _ HOME vs grad le _ USER _ HOME vs HOME?
- [#22744] -聚合插件不能與定制的JVM測試套件一起工作
- [#22735] - Gradle 8.0-milestone-3回歸:變換選擇算法已更改(選擇了更長的鏈)
- [#22702] -文檔中org.gradle.welcome屬性的拼寫錯誤和排序問題
- [#22671] - forkOptions.jvmArgs.addAll()靜默忽略
- [#22645] - API:參數(shù)被標記為非null,但顯式允許null
- [#22614] -文檔中的Kotlin/Groovy開關(guān)
- [#22612] -添加一個演示構(gòu)建服務接收任務執(zhí)行事件的示例
- [#22531] -Java類私有依賴關(guān)系更改時Groovy和Java聯(lián)合編譯失敗
- [#22502] -ModuleVersionIdentifier”中不一致的Javadoc
- [#22403] -從用法類中刪除各種不推薦使用的字段
- [#22398] -在compileJava上設置可執(zhí)行文件或java home時誤導工具鏈日志記錄
- [#22397] -如果fork options executable或java home指向舊的JDK,則任務編譯Java失敗
- [#22392] -刪除不推薦使用的PluginCollection添加/刪除/添加所有/刪除所有/清除方法
- [#22380] -刪除不推薦使用的resolvedcomponentreult # get variant方法
- [#22375] -簽名發(fā)布應該是冪等的
- [#22370] - Gradle不支持pom.xml中定義的Maven排除
- [#22367] -從Checkstyle/Pmd/CodeNarc中刪除不推薦使用的getAntBuilder
- [#22365] -更新WarPlugin和ScalaBasePlugin配置配置以產(chǎn)生錯誤,而不是關(guān)于誤用的警告
- [#22355] -將依賴性驗證更改添加到Gradle 8的發(fā)行說明中
- [#22354] -發(fā)布依賴項-驗證-1.2.xsd架構(gòu)
- [#22340] -恢復刪除的IdeaModule.testSourceDirs和IdeaModule.testResourceDir
- [#22333] -NoClassDefFoundError:LauncherSessionListener帶有插件“org.jetbrains.intellij”和JUnit 5
- [#22299] -預設二進制兼容性報告過濾器
- [#22282] -使二進制兼容性更改報告自我更正
- [#22278] -添加任務以排序accepted-public-API-changes . JSON文件
- [#22246] -恢復“TestReport”的已刪除的“reportOn”和“setDestinationDir”方法
- [#22230] - Report#getOutputLocation()應返回屬性,而不是提供程序
- [#22153] -使用添加了jacoco plugin # addjacoco configuration的confs時出錯
- [#22110] -在使用AbstractCompile中不推薦使用的destinationDir時添加嘮叨
- [#22101] -將嵌入式Kotlin升級到1.7.22
- [#22088] -恢復resolveToStateOrLater的警告
- [#22063] -到Gradle Enterprise的構(gòu)建緩存文檔鏈接已斷開
- [#22023] -集中驗證任務的可執(zhí)行配置
- [#21978] -準備在錯誤中更多地使用“DeprecatableConfiguration”
- [#21954] -刪除默認配置#resolveToStateOrLater
- [#21948] -研究如何將DependencyAdder模式應用于“修飾符”
- [#21907] -刪除已棄用的kotlindsloptions . experimental warning
- [#21884] -刪除@ Deprecated AbstractExternalModuleDependency # set force方法
- [#21881] -將DefaultRepositoryHandler # deprecate jcenter deprecation更新為Gradle 9.0
- [#21879] -刪除@ Deprecated dependency nation parser # create方法
- [#21876] - ProviderFactory:提供一種通過前綴獲取Gradle屬性的方法
- [#21872] -
javatoolchainfactory # new instance
靜默丟棄原始異常 - [#21857] -簽名插件:簽名(發(fā)布)應該是冪等的
- [#21825] - CCH22-28:調(diào)整配置緩存的“snippets/tutorial/configuretaskusingprojectproperty”示例
- [#21824] - CCH22-27:調(diào)整配置緩存的“snippets/testing/test-suite-multi-configure-each-matching”示例
- [#21823] - CCH22-26:調(diào)整配置緩存的“snippets/testing/test-suite-multi-configure-each”示例
- [#21822] - CCH22-25:調(diào)整配置緩存的“snippets/testing/test-suite-multi-configure-each-extracted”示例
- [#21821] - CCH22-24:調(diào)整配置緩存的“snippets/tasks/incrementalTask”示例
- [#21820] - CCH22-23:調(diào)整配置緩存的“snippets/tasks/incremental build-custom task class”示例
- [#21819] - CCH22-22:調(diào)整配置緩存的“snippets/providers/property conventi on”示例
- [#21818] - CCH22-21:調(diào)整配置緩存的“snippets/kotlinDsl/multiprojectbuild”示例
- [#21817] - CCH22-20:調(diào)整配置緩存的“snippets/java/fixtures”示例
- [#21816] - CCH22-19:調(diào)整配置緩存的“snippets/java/customDirs”示例
- [#21815] - CCH22-18:調(diào)整配置緩存的“snippets/java/crossCompilation”示例
- [#21814] - CCH22-17:調(diào)整配置緩存的“snippets/files/fileCollections”示例
- [#21813] - CCH22-16:調(diào)整配置緩存的“snippets/files/archiveschangedbasename”示例
- [#21812] - CCH22-15:調(diào)整配置緩存的“snippets/files/archiveNaming”示例
- [#21811] - CCH22-14:調(diào)整配置高速緩存的“snippets/dependency management/managingTransitiveDependencies-excludefordependency”示例
- [#21810] - CCH22-13:調(diào)整配置高速緩存的“snippets/dependency management/managingtrantinivedependencies-excludeforconfiguration”示例
- [#21809] - CCH22-12:調(diào)整配置緩存的“snippets/dependency management/dependency verification-disableng verification”示例
- [#21808] - CCH22-11:調(diào)整配置緩存的“snippets/dependency management/definingUsingConfigurations-custom”示例
- [#21807] - CCH22-10:調(diào)整配置緩存的“snippets/dependency management/customizingResolution-metadata rule”示例
- [#21806] - CCH22-9:調(diào)整配置緩存的“snippets/dependency management/customizingResolution-ivymetadatarule”示例
- [#21805] - CCH22-8:調(diào)整配置緩存的“snippets/dependency management/customizingResolution-conditional substitution rule”示例
- [#21804] - CCH22-7:調(diào)整配置緩存的“snippets/dependency management/customizingResolution-classifiersubstitution rule”示例
- [#21803] - CCH22-6:調(diào)整配置緩存的“snippets/dependency management/customizingResolution-capability substitution rule”示例
- [#21802] - CCH22-5:調(diào)整配置緩存的“snippets/build life cycle/projectevaluateevents”示例
- [#21801] - CCH22-4:調(diào)整配置緩存的“snippets/build cache/cache able-bundle-task”示例
- [#21800] - CCH22-3:調(diào)整配置緩存的“snippets/build cache/cache able-bundle”示例
- [#21799] - CCH22-2:調(diào)整配置緩存的“snippets/artifacts/generated file dependencies”示例
- [#21794] -將無效的工具鏈規(guī)范棄用轉(zhuǎn)換為錯誤
- [#21792] -取消孵化或刪除ExternalPluginValidationPlugin
- [#21790] -刪除已棄用的AntlrSourceVirtualDirectory & AntlrSourceVirtualDirectoryImpl
- [#21775] -刪除不推薦使用的nameddomainobjectcontainerextension . invoke
- [#21772] -移除內(nèi)部預編譯腳本插件支持的不推薦使用的成員
- [#21763] -更新Gradle 8中錯誤的依賴關(guān)系管理棄用警告
- [#21760] -更新abstractcodequalityplugin . createconfigurations成為Gradle 8中的錯誤
- [#21747] -更新Test.useTestFramework以在使用不當時引發(fā)錯誤
- [#21743] - AntlrPlugin.apply成為錯誤
- [#21736] -刪除@ Deprecated DefaultWorkerExecutor方法
- [#21724] -Remove @ Deprecated defaultdependencyhandler . doadd(Conf,Obj,Closure)
- [#21718] -Snippet“Snippet-init-scripts-configuration-injection”和“snippet-init-scripts-plugins”與配置緩存不兼容
- [#21717] -Snippet " Snippet-Java-tool chain-filters "與配置緩存不兼容
- [#21714] -Snippet " Snippet-groovy-compilation-avoidance "與配置緩存不兼容
- [#21712] -Windows路徑長度檢查時出現(xiàn)一個錯誤
- [#21705] - Docs:“構(gòu)建Java應用程序示例”對build.gradle的解釋不完整
- [#21683] -刪除@Deprecated VersionCatalog方法
- [#21681] -從TestReport中刪除@Deprecated方法
- [#21679] -刪除@ Deprecated jvmpluginshelper . configuredocumentationvariantwithartifact方法
- [#21671] -配置緩存報告缺少項目方法的隱式用法,導致重用緩存時崩潰
- [#21661] -從DependencySubstitutions中刪除@Deprecated方法
- [#21657] -刪除@Deprecated Groovydoc。包括私人
- [#21653] -Remove @ Deprecated dependencyinsightreporttask . setlegacyshowsinglepathtodependency
- [#21650] -刪除@ Deprecated JacocoPluginExtension。報告Dir
- [#21648] -將7.x中的工作驗證警告轉(zhuǎn)換為錯誤
- [#21647] -從DefaultDomainObjectSet、DefaultSourceDirectorySetFactory和SourceDirectorySetFactory中刪除@Deprecated方法
- [#21642] -示例“憑據(jù)-處理/發(fā)布-憑據(jù)”與配置緩存不兼容
- [#21640] -Snippet " Snippet-maven-publish-conditional-publishing "與配置緩存不兼容
- [#21594] -更新即席文檔-任務屬性生成器運行時API以描述所有注釋的等效項
- [#21561] -
-U
是- refresh-dependencies
的縮寫形式 - [#21558] -錯誤消息中有錯誤的文檔URL
- [#21553] -刪除Gradle 8.0的@ Deprecated JacocoMerge
- [#21515] -添加關(guān)于棄用/移除的升級指南注釋
- [#21509] -默認為CodeNarc工具的最新版本
- [#21503] -遷移
groovy . util . ant builder
→` groovy . ant . ant builder ’ - [#21463] -更新Gradle包裝時不要清除“distributionSha256Sum”
- [#21421] -刪除上傳任務
- [#21386] -當使用當前JVM時,使任務發(fā)出Java工具鏈使用
- [#21372] -重新啟用禁用的測試GradleBuildSanityCheckConfigurationCacheSmokeTest
- [#21334] - Cpp和Swift插件類低效使用’ Optional.orElse ’
- [#21315] -需要為Windows上的GradleRunner測試定義SystemRoot環(huán)境變量
- [#21289] -用戶指南中使用文件文檔時出現(xiàn)打印錯誤
- [#21164] - Unix啟動腳本正在覆蓋“應用程序名稱”環(huán)境變量值
- [#21109] -配置緩存應支持不可序列化的lambdas
- [#21085] -不跟蹤嵌套輸入的實現(xiàn)
- [#21041] -編譯build.gradle.kts文件時,不要將JVM目標固定為8
- [#21013] -刪除-添加-為所有分級工作進程打開
- [#20416] -將“org . grad le . kot Lin . DSL . precompiled . accessors . strict”默認設置為true
- [#20260] -為verification-metadata.xml中的< component >元素添加原因?qū)傩?/li>
- [#20156] - `gradle init '在生成一個啟用了配置緩存的項目后被跳過
- [#20101] -7.x中打破的多模塊項目的Scala增量編譯
- [#20060] -版本目錄遇到意外的命名空間沖突
- [#20007] -由于類型不兼容而丟棄配置緩存條目時出現(xiàn)不明確的錯誤
- [#19829] -將“buildSrc”轉(zhuǎn)換為復合版本的標志
- [#19790] -將@Internal for getExtensions從ExtensionAware移到任務接口
- [#19568] -在Kotlin DSL構(gòu)建腳本和插件中支持Kotlin語言/api 1.7
- [#19538] -使Task.getName()成為最終版本
- [#19382] -提取“JvmImplementation.J9”的下載工具鏈時出錯
- [#19090] -恢復Gradle 8的測試選項快速失敗行為
- [#18957] -缺少從6.9到7.0的升級文檔
- [#18908] - DependencyHandler#add(字符串,對象,閉包)具有不正確的可空性
- [#18829]-“Gradle Daemon”文檔常見問題解答重復內(nèi)容
- [#18824] - Java工具鏈與系統(tǒng)模塊的“添加-導出”不兼容
- [#18567] - ./gradlew - export-keys在沒有- write-verification-metadata的情況下不執(zhí)行任何操作
- [#17681] - eclipse-wtp EJB項目與eclipse“jst . EJB”方面不兼容
- [#17324] -刪除對使用equals()確定任務輸入屬性是否已更改的支持
- [#17151] -從7.0開始,刪除不推薦使用的具有穩(wěn)定屬性的getter/setter作為替換
- [#17052] -科特林1.5”。kts”構(gòu)建源,調(diào)用SAM包裝器的動態(tài),并且分級任務不是最新的
- [#16884] -Repo libs-releases-本地過期,不包含6.1.1之后的工件
- [#16783] -為Kotlin插件當前使用的不推薦使用的方法啟用不推薦使用日志記錄
- [#16782] -為Android插件當前使用的棄用方法啟用棄用日志記錄
- [#16688] -可以查看不贊成使用的調(diào)查結(jié)果的所有實例,而不僅僅是第一個實例。
- [#15888] -刪除5.6版之前的工作API
- [#15875] -將“使用mustrunfafter/shouldRunAfter/finalized by引用另一個生成中的任務”變?yōu)殄e誤
- [#15546] -刪除不推薦的將轉(zhuǎn)換的輸入工件作為文件注入
- [#15503] -用相對路徑靈敏度處理輸出
- [#15496] -刪除“增量任務輸入”
- [#15335] -類“Foo”由新的Kotlin編譯器后端編譯,不能由舊的編譯器加載
- [#14587] -整合不同文件集合中缺失的快照元素
- [#13941] -嵌套的終結(jié)器應該遵循跨項目的任務順序
- [#13462] -使“antlr”插件支持配置緩存
- [#13456] -使` init '插件支持配置緩存
- [#12978] -允許buildSrc使用和查看其他包含的版本
- [#12388] - `Provider.map { nullableValue } '在Kotlin DSL中不起作用
- [#12351] -值為“/tmp/bug.txt”的屬性“xxx”不能用RegularFileProperty序列化
- [#10066] -刪除舊的工件轉(zhuǎn)換API
- [#9196] -對內(nèi)置代碼質(zhì)量任務使用worker API
- [#8514] - PMD自定義規(guī)則集文檔不清楚
- [#8423] -如果注入中使用的類不是靜態(tài)的,則發(fā)出警告
- [#8224] -不容易在buildSrc中運行junit測試
- [#9113] -將陳舊輸出清理移至執(zhí)行引擎
- [#6305] -刪除-不重建
- [#2531] -將“buildSrc”轉(zhuǎn)換為隱式的包含版本
- [#1055] -未對`:buildSrc '項目執(zhí)行命令行初始化腳本
- [#23519] -糾正與Java工具鏈相關(guān)的缺點
- [#23440] - Gradle 8編譯插件不適用于Gradle <7
- [#23409] -將帶有接收器和編譯器設置鏈接的SAM添加到“kotlin-dsl”插件下的Gradle Kotlin DSL頁面
- [#23408] -修復8.0升級指南中的剩余待辦事項
- [#23391] - 8.0 RC 1回歸:tartree不適用于. tar.gz文件
- [#23390] -刪除測試報告時缺少8級升級文檔
- [#23378] -解壓縮-分發(fā)- Log4j企業(yè)文件系統(tǒng)掃描漏洞
- [#23343] - 8.0 RC 1回歸:CodeNarc插件無法解析其依賴項
- [#22027] -將嵌入式Kotlin升級到1.8.0
- [#23645] -“從Apache Maven遷移構(gòu)建”中的斷開鏈接標題
- [#23559] -在Gradle 8下編譯Scala時出現(xiàn)異常
- [#23520] -NoSuchMethodError org . grad le . API . default task . getonlyif嘗試用Gradle 7.5.1運行用Gradle 7.6編譯的插件時
- [#23491] - Build produces INFO log “腳本’ build.gradle.kts '不應與常規(guī)Kotlin源一起使用,默認情況下在未來版本中將被忽略?!?/li>
- [#17228] -不能將嵌套的“build-logic”用作構(gòu)建邏輯的包含構(gòu)建
- [#23700] -啟用配置緩存時生成失敗:找不到名為“l(fā)istener-service”的BuildServiceRegistration
到了這里,關(guān)于gradle-8.0-all 快速下載百度網(wǎng)盤下載的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!