Gradle 7.3 发布,支持 Java 17 和 Scala 3

  Gradle 7.3 版本为 JVM 项目引入了声明性测试套件 API,添加了对使用 Java 17 构建项目的支持,并更新了 Scala 插件以支持 Scala 3。

  Gradle 7.3 具体更新内容如下:

  升级说明

  通过更新你的 Wrapper,将你的构建转换为使用 Gradle 7.3。

  ./gradlew wrapper --gradle-version=7.3

  新功能和可用性改进

  支持 Java 17Gradle 现在支持在 Java 17 上运行和构建。在以前的 Gradle 版本中,在 Java 17 上运行 Gradle 会导致一个错误。从 Gradle 7.3 开始,运行 Gradle 本身和用 Java 17 构建 JVM 项目都被完全支持。JVM 项目中的声明性测试套件在测试 Java 和 JVM 项目时,开发者经常需要将测试类分组,将它们组织成可管理的块,这样就可以以不同的频率或在构建管道的不同点上运行它们。以前,正确的测试分组需要彻底了解如何修改和连接 Gradle 中的各种领域对象,如 SourceSets、配置和任务。如果你想把测试分成不同的组,你需要了解这些独立的部分如何相互作用。在 Gradle 7.3 中,JVM Test Suite Plugin 简化了这种测试组的创建。支持 Scala 3Scala 插件允许用户使用 Gradle 和 Zinc 增量编译器来编译他们的 Scala 代码。Scala 插件现在可以编译 Scala 3 的代码了。所有现有的配置选项在最新的语言版本下仍然可以使用。最新版本的 Scala 3 在保持与大部分现有 Scala 2 代码兼容的同时,也带来了众多功能。探索 gradle init 的新行为当你使用 gradle init 初始化一个新的 Gradle 项目时,Gradle 现在会询问你是否想在构建中尝试新的但不稳定的功能。开发者可以在生成新项目时,通过运行 gradle init --incubating 来询问这一行为。目前,用这个选项生成的构建只启用 Test Suites,但其他新的 API 或行为可能会在它们引入时被添加。取消了对别名(alias)的限制在以前的 Gradle 版本中,不可能用后缀 plugin、 version和其他受限制的关键字来声明别名。在这个 7.3 版本中,这些限制现在被取消了。

  可靠性改进

  更强大的文件系统观察当运行增量构建时,Gradle 需要了解自上一次构建以来文件系统上有什么变化。为了做到这一点,它尽可能地依赖操作系统的文件系统事件。在一些罕见的环境中,这些事件可能不够可靠,并且会导致 Gradle 忽略一些变化。为了防止这种情况,Gradle 现在在启用基于文件系统事件的优化之前,会验证文件系统事件是否及时交付。允许将单个文件复制到包含不可读文件的目录中现在可以在 Copy任务上使用 Task.doNotTrackState()方法,强制 Gradle 忽略目标目录中的内容。配置缓存中的输入规范化支持输入规范化现在能被实验性配置缓存正确跟踪。当配置缓存启用时,任务的最新检查现在会考虑规范化规则,从而产生更快的构建。插件开发改进使用 Build Init 插件初始化新的插件项目也可以从 --incubating选项中受益。

  Tooling 改进

  文件下载进度事件当构建下载许多文件或非常大的文件时(例如在解决依赖关系时),由于缺乏任何日志或控制台输出,Gradle 可能会被认为出现了无响应。7.3 版本增加了新的事件,在文件被下载时通知 IDE。这允许 IDE 在 Gradle 运行时和 IDE 导入/同步时显示更好的进度信息。安全性改进ant 和 common-compress 捆绑库都已更新,以解决报告的漏洞。

  修复的问题

  [#18632] - Test Suite 无法添加版本目录项目[#18622] - KMP 中找不到名称为 'test' 的 SourceSet[#18598] - 修复小的 JvmTestSuitePlugin 文档格式问题[#9095] - 为任务完全禁用缓存和最新检查[#18324] - gradle 依赖于一个不安全的第三方 JAR 包,其中包含 CVE 漏洞[#18239] - 支持 TestNG 和 Spock 作为测试框架选项

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值