作者:大道废_796 | 来源:互联网 | 2023-09-18 22:15
Gradle7.0发布,支持JDK16本文翻译自:Gradle7.0ReleasedwithSupportforJDK16作者:UdayTatiraju可定制的开源构建自动化工具G
Gradle 7.0发布,支持JDK 16
本文翻译自: Gradle 7.0 Released with Support for JDK 16
作者: Uday Tatiraju
可定制的开源构建自动化工具 Gradle
已经 发布了7.0版本
。这个版本支持 JDK 16
、更快的增量构建、改进了验证错误的构建可靠性,以及对带有Apple Silicon处理器的新Mac的本地支持。此外,在早期版本中引入的一些预览功能,如JVM工具链、依赖锁定、依赖验证和对Java模块系统的支持,在7.0版本中都被提升为稳定功能。
之前的Gradle版本无法在最新的JDK 16上运行。然而,在 JVM工具链
的帮助下,通过禁用增量编译,人们仍然可以使用JDK 16构建他们的Java项目。在最新的Gradle 7.0版本中,完全支持在JDK 16上运行Gradle和构建项目。Gradle本身已经升级到在基于Groovy的DSL构建脚本中使用Groovy 3,以完全支持JDK 16。Groovy 3包含了 新特性和功能
,也支持与较新的Java特性的互操作性。注意,Groovy 2和Groovy 3并不完全兼容,因此在升级到Gradle 7.0时可能会出现问题。请查阅Gradle的 升级说明
以获得进一步的指导。
Gradle的每个版本都会继续为 增量构建
带来速度上的改进。这个版本在所有支持的平台上,如Windows、Linux和MacOS,默认启用了优化的文件系统观察功能。该优化帮助Gradle了解构建输入和输出文件的变化,并在两次构建之间将这些信息保留在内存中。这允许Gradle在每次构建时跳过从文件系统中读取信息,从而减少在构建之间确定输入和输出文件变化所需的磁盘I/O量。
另一个构建速度的提高是在这个版本中通过忽略空的** buildSrc
文件夹实现的。在这个版本之前,
buildSrc
文件夹的存在会迫使Gradle执行所有相关的任务,可能会导致构建缓存丢失和额外的性能开销。现在,Gradle将忽略空的
buildSrc
**文件夹,从而跳过执行不必要的任务,避免缓存丢失。
Gradle 7.0版本的一个突出的稳定特性是对 Java模块系统
的全面支持。用户现在可以通过Gradle 构建、测试和运行
Java模块。仅仅是module-info.java的存在,就可以让Gradle推断出你的jar是一个模块,必须放在模块路径上,而不是传统的classpath上。
插件开发的改进,如支持 具有多个变体的插件
,对本地插件使用包含的构建,对安全公告的修复,依赖锁定的改进,实验性的版本目录,以及类型安全的项目访问器是Gradle 7.0中其他一些值得注意的改进和功能。