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

栏目: 软件资讯 · 发布时间: 3年前

内容简介:Gradle 7.3 版本为 JVM 项目引入了声明性测试套件 API,添加了对使用 Java 17 构建项目的支持,并更新了 Scala 插件以支持 Scala 3。 Gradle 7.3 具体更新内容如下: 升级说明 通过更新你的 Wrapper,将你的构建转...

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

Gradle 7.3 具体更新内容如下:

升级说明

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

./gradlew wrapper --gradle-version=7.3

新功能和可用性改进

  • 支持 Java 17

    Gradle 现在支持在 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 3

    Scala 插件允许用户使用 Gradle 和 Zinc 增量编译器来编译他们的 Scala 代码。Scala 插件现在可以编译 Scala 3 的代码了。所有现有的配置选项在最新的语言版本下仍然可以使用。

    最新版本的 Scala 3 在保持与大部分现有 Scala 2 代码兼容的同时,也带来了众多功能。

  • 探索 gradle init 的新行为

    当你使用 gradle init 初始化一个新的 Gradle 项目时,Gradle 现在会询问你是否想在构建中尝试新的但不稳定的功能。开发者可以在生成新项目时,通过运行 gradle init --incubating 来询问这一行为。

    目前,用这个选项生成的构建只启用 Test Suites,但其他新的 API 或行为可能会在它们引入时被添加。

  • 取消了对别名(alias)的限制

    在以前的 Gradle 版本中,不可能用后缀 pluginversion和其他受限制的关键字来声明别名。在这个 7.3 版本中,这些限制现在被取消了。

可靠性改进

  • 更强大的文件系统观察

    当运行增量构建时,Gradle 需要了解自上一次构建以来文件系统上有什么变化。为了做到这一点,它尽可能地依赖操作系统的文件系统事件。

    在一些罕见的环境中,这些事件可能不够可靠,并且会导致 Gradle 忽略一些变化。为了防止这种情况,Gradle 现在在启用基于文件系统事件的优化之前,会验证文件系统事件是否及时交付。

  • 允许将单个文件复制到包含不可读文件的目录中

    现在可以在 Copy任务上使用 Task.doNotTrackState()方法,强制 Gradle 忽略目标目录中的内容。

  • 配置缓存中的输入规范化支持

    输入规范化现在能被实验性配置缓存正确跟踪。当配置缓存启用时,任务的最新检查现在会考虑规范化规则,从而产生更快的构建。

  • 插件开发改进

    使用 Build Init 插件初始化新的插件项目也可以从 --incubating选项中受益。

Tooling 改进

  • 文件下载进度事件

    当构建下载许多文件或非常大的文件时(例如在解决依赖关系时),由于缺乏任何日志或控制台输出,Gradle 可能会被认为出现了无响应。

    7.3 版本增加了新的事件,在文件被下载时通知 IDE。这允许 IDE 在 Gradle 运行时和 IDE 导入/同步时显示更好的进度信息。

  • 安全性改进

    antcommon-compress 捆绑库都已更新,以解决报告的漏洞。

修复的问题

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

更多详情可查看:https://docs.gradle.org/7.3/release-notes.html


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

娱乐至死

娱乐至死

[美] 尼尔·波兹曼 / 章艳 / 广西师范大学出版社 / 2011-6 / 29.80元

《娱乐至死》是对20世纪后半叶美国文化中最重大变化的探究和哀悼:印刷术时代步入没落,而电视时代蒸蒸日上;电视改变了公众话语的内容和意义;政治、宗教、教育和任何其他公共事务领域的内容,都不可避免的被电视的表达方式重新定义。电视的一般表达方式是娱乐。一切公众话语都日渐以娱乐的方式出现,并成为一种文化精神。一切文化内容都心甘情愿地成为娱乐的附庸,而且毫无怨言,甚至无声无息,“其结果是我们成了一个娱乐至死......一起来看看 《娱乐至死》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器