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

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

内容简介: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


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

查看所有标签

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

Mathematica Cookbook

Mathematica Cookbook

Sal Mangano / O'Reilly Media / 2009 / GBP 51.99

As the leading software application for symbolic mathematics, Mathematica is standard in many environments that rely on math, such as science, engineering, financial analysis, software development, an......一起来看看 《Mathematica Cookbook》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具