Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具,支持依赖管理和多项目,类似 Maven,但比之简单轻便。它使用一种基于 Groovy 的特定领域语言来声明项目设置,而不是传统的 XML。
Gradle 7.6 现已发布,此版本包括使用 Java 19 构建和运行代码、单独重新运行任务的标志、用于 JVM 测试套件的新强类型依赖块,以及用于 Java 工具链配置的可插拔系统。
新功能和可用性改进
添加了对 Java 19 的支持
Gradle 7.6 支持在 Java 19 上编译、测试和运行。
为 JVM 测试套件引入强类型 dependencies
块
JVM 测试套件 dependencies
块现在使用强类型 API。 使构建逻辑更清晰,并改进了 IDE 中的辅助功能,尤其是使用 Kotlin DSL 时。
支持从任意存储库下载 Java 工具链
从 Gradle 7.6 开始,Gradle 可以从任意存储库下载 JVM工具链。默认情况下,Gradle 从 Adoptium/AdoptOpenJDK 下载工具链。
添加了对编译失败后增量编译的支持
Gradle 默认支持 Java 增量编译和 Groovy 增量编译作为一个可选的实验特性。
在之前的版本中,一次编译失败会导致下一次编译执行全量重新编译。从 Gradle 7.6 开始,Java 和 Groovy 增量编译即使在失败后也可以工作。
引入了对 Java 9+ 网络调试的支持
可以运行带有调试选项的 Java 测试或应用程序子进程,以通过网络接受调试器客户端连接。如果调试选项只指定端口,而不指定主机地址,则接受的连接集取决于当前 Java 版本:
- 在 Java 9 之前,调试器客户端接受来自任何机器的连接。
- 从 Java 9 开始,调试器客户端只接受来自主机的连接。
此版本向添加了一个新属性JavaDebugOptions
:host
,允许指定调试器主机地址和端口。
一般改进
为单个任务引入 --rerun 标志
所有任务现在都可以使用 --rerun 选项, 此选项的作用类似于 --rerun-tasks,但--rerun 仅影响单个任务。
包装器下载的网络超时配置
现在可以配置下载 Gradle 包装文件的网络超时值, 默认值为 10000 毫秒,可以通过多种方式更改。
更多功能可查看更新公告:https://docs.gradle.org/7.6/release-notes.html