gradle-7.4.2-all 百度网盘下载

Gradle 7.4.2 发布

Gradle团队很兴奋地宣布Gradle 7.4.2。

这个版本使得创建单一测试报告或者JaCoCo代码覆盖率报告跨越几个项目。此版本还包括几项可用性改进,例如在IDEA中将附加测试源目录标记为测试和更好地支持子项目中的插件版本声明.

Java工具链支持已更新以反映将AdoptOpenJDK迁移到Adoptium.

采用时需要进行一些更改实验配置缓存更容易,随着几个错误修复和其他变化.

这构建服务和版本目录功能已经提升为稳定。

下载连接:点击进入快速下载

已修复问题

Gradle 7.4.2中修复了6个问题:

  • 稍后出现在命令行上的任务可以神秘地被跳过;
  • 由前面在命令行中指定的任务完成的任务会导致生成挂起;
  • 测试任务执行和依赖性解决之间的死锁;
  • 按需构建服务注册和配置的竞争条件;
  • 在7.4.1中,在插件块中使用版本目录插件仍然会产生@孵化警告;
  • 当任务引发VerificationException且配置缓存已启用时的NPE。

该版本还记录了安全顾问这个问题在Gradle 7.4中已经解决了。

我们建议用户升级到7.4.2,而不是7.4。

升级说明

通过更新您的包装器,切换您的构建以使用Gradle 7.4.2:

./gradlew wrapper --gradle-version=7.4.2

参见Gradle 7.x升级指南了解升级到Gradle 7.4.2时的弃用、重大变更和其他注意事项。

关于Java、Groovy、Kotlin和Android兼容性,请参见完全兼容性说明.

新功能和可用性改进

为来自多个项目的测试生成单个报告

默认情况下,Gradle为每个项目中的每个测试任务生成一个单独的HTML测试报告。以前,很难以安全方便的方式将这些报告跨多个项目进行组合。

此版本添加了新的test-report-aggregation一个插件,可以很容易地将多个项目的测试结果整合到一个HTML报告中。这个插件使用在jvm-test-suite插件作为这种聚合的基础。

当这个插件被应用到一个Java项目中时,Gradle会自动为每个测试套件创建一个汇总的测试报告。默认情况下,只定义了内置测试套件。如果没有配置其他套件,将生成一个报告。

Gradle着眼于项目的直接性和传递性runtimeClasspath项目依赖项,并选择具有相同测试套件类型每个汇总报告的项目。如果一个项目没有匹配的测试套件,它会被忽略。看见样本在用户手册中。

如果您想要对聚合报告中包含的项目集或使用的测试套件进行更多的控制,请参见要求您提供此配置的另一个示例在用户手册中。

从多个项目中生成一个单一的JaCoCo代码覆盖

格拉德带着一个JaCoCo代码覆盖率为内置测试任务生成覆盖报告的插件。以前,很难以一种安全方便的方式在多个项目中组合这样的报告。

此版本添加了新的jacoco-report-aggregation一个插件,可以很容易地将多个项目的代码覆盖率合并到一个报告中。这个插件使用在jvm-test-suite插件的方式与test-report-aggregation上面描述的插件。

当这个插件被应用到一个Java项目中时,Gradle会自动为每组套件创建一个聚合的代码覆盖率报告test-report-aggregation插件。看见样本在用户手册中。

如果您想要对聚合报告中包含的项目集或使用的测试套件进行更多的控制,请参见要求您提供此配置的另一个示例在用户手册中。

可用性改进
在IntelliJ IDEA中将其他测试源目录标记为测试

这JVM测试套件插件使在Java项目中创建额外的测试集变得更加容易。

这IntelliJ IDEA插件插件现在会自动标记一个JVM测试套件作为IDE中的测试源目录。

Eclipse插件将在Gradle的未来版本中更新。

这一改变并不影响在Android项目中创建的额外的测试源目录,这些目录仍然需要被手动配置为测试目录。这些测试源不是使用JVM测试套件创建的。

的扩展的类型安全访问器repositories {}在Kotlin DSL中
从这个版本的Gradle开始,科特林DSL产生类型安全的模型访问器对于添加到repositories {}阻止。自定义扩展现在在IDE中有完整的内容帮助。

例如,在asciidoctorj-gems-plugin插件添加自定义扩展。您现在可以使用这个简洁的语法:

repositories {
    ruby {
        gems()
    }
}

在以前的版本中,您需要使用withGroovyBuilder:

repositories {
    withGroovyBuilder {
        "ruby" {
            "gems"()
        }
    }

}
或者直接依赖于扩展的类型:

repositories {
    this as ExtensionAware
    configure<com.github.jrubygradle.api.core.RepositoryHandlerExtension> {
        gems()
    }
}
稳定依赖性验证文件生成

依赖性验证允许Gradle验证插件和依赖项的校验和及签名,这些插件和依赖项用于构建您的项目以提高供应链安全性。

在此版本中,依赖性验证文件的生成得到了改进,可以产生稳定的输出。这意味着如果构建配置和验证文件没有改变,Gradle将总是产生相同的输出。

这允许验证元数据生成功能作为一种方便的更新策略。现在,这是更新依赖性验证文件的推荐方式。

看见文档了解更多详情。

更多情况下,插件可以在子项目中用版本声明

这插件DSL提供了一种简洁方便的方式来声明插件依赖关系。

以前,当父项目也声明了相同的插件时,不可能在子项目中声明带有版本的插件。现在,当Gradle可以跟踪插件的版本时(目前使用内置插件或外部解析插件时),这是允许的,并且两者中插件的版本是相同的。

这一更改是允许使用dependency catalog plugin aliases在父项目和子项目中plugins {}.

从AdoptOpenJDK迁移到Adoptium后的变化

Java工具链提供一种简单的方法来声明应该使用哪个Java版本来构建您的项目。默认情况下,Gradle会检测已安装的JDK或者自动下载新的工具链版本。

随着…的迁移AdoptOpenJDK到Eclipse Adoptium,对工具链进行了大量更改:

ADOPTIUM和IBM_SEMERU现在被认为是供应商,
以上两者都可以用作供应商并触发自动供应,
使用ADOPTOPENJDK作为供应商,让它触发自动配置将发出一个弃用警告.
看见文档详情请见。

配置缓存改进

这配置缓存通过缓存配置阶段的结果并在后续构建中重用它来缩短构建时间。

自动检测配置时使用的环境变量、系统属性和梯度属性

以前,Gradle要求构建和插件作者使用特定的API来读取外部值,如环境变量、系统属性和Gradle属性,以便将这些值作为配置缓存输入。当其中一个值发生变化时,Gradle会重新执行构建的配置阶段,并创建一个新的缓存条目。Gradle还要求用显式选择加入来标记配置时使用的外部值Provider.forUseAtConfigurationTime()API。

该版本通过放宽这些要求,使得采用配置缓存变得更加容易。Provider.forUseAtConfigurationTime()已被弃用,可以使用标准Java和Gradle APIs读取外部值。自动检测配置时使用的环境变量、系统属性和Gradle属性,无需构建或插件作者迁移到Gradle特定的API。如果这些输入中的任何一个发生变化,配置缓存将自动失效。此外,检测到的配置输入现在显示在配置缓存HTML报告中,以便更容易调查意外的配置缓存未命中。

参见升级指南的相应部分详情请见。

执行不兼容的任务时禁用配置缓存

配置缓存通过缓存每组请求任务的整个任务图来工作。

在此版本之前,项目使用的所有任务都需要与配置缓存兼容,然后才能启用配置缓存。

现在可以声明特定任务与配置缓存不兼容。每当计划运行不兼容的任务时,Gradle将自动禁用配置缓存。这使得启用配置缓存成为可能,而不必首先迁移所有任务以实现兼容。当只执行兼容的任务时,构建仍将受益于配置缓存。这使得配置缓存的采用更加渐进。

检查用户手册了解更多详情。

其他改进
其他Gradle守护程序调试选项

Gradle守护进程可以在调试模式下启动,允许您连接调试器来排除构建脚本或插件代码执行的故障。默认情况下,Gradle假设了一组特定的调试选项。

在此版本中,添加了额外的选项来指定Gradle守护程序的端口、服务器模式和挂起模式。当默认选项不足以连接到Gradle守护进程来调试构建脚本或插件代码时,这很有用。

这不影响与一起使用的调试选项–debug-jvm当与一起使用时Test或者JavaExec任务。

看见文档详情请见。

这一改进得益于马尔钦·米尔尼基.

预编译插件与核心插件的冲突现在是一个错误

预编译插件是用Groovy还是Kotlin DSLs编写的插件。它们用于在使用DSL语言的项目之间轻松共享构建逻辑,而不需要编写完整的插件类。

在以前的版本中,可以用与任何核心插件id冲突的名称来命名预编译插件。由于核心插件优先于其他插件,这导致预编译插件被忽略。

在这个版本中,预编译插件和核心插件之间的名称冲突会导致错误。

请参见用户手册预编译插件了解更多信息。

安全咨询

此版本的Gradle包含对以下安全公告的修复:

  • 使用时,可以绕过依赖项验证ResolutionStrategy.disableDependencyVerification()

提升的功能

升级功能是在Gradle的早期版本中酝酿的功能,但现在受到支持并具有向后兼容性。请参阅“用户手册”一节功能生命周期”了解更多信息。

以下是此Gradle版本中提升的功能。

共享构建服务

共享构建服务被提升为稳定功能。

版本目录

版本目录被提升为稳定功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值