Gradle 6.8 已经发布。Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具,支持依赖管理和多项目,类似 Maven,但比之简单轻便。它使用一种基于 Groovy 的特定领域语言来声明项目设置,而不是传统的 XML。
该版本显著提高了 Kotlin DSL 构建脚本编译的性能,增加了多项对 Java 工具链支持的改进,包括 vendor selection;并使得直接从命令行执行复合构建中的任何任务变得容易。还引入了新的依赖性管理 API,以实现一致的解析。此外,还有实验配置缓存增加了对复合构建和更多核心插件的支持,以及添加了其他一些改进。
值得一提的是,此版本禁用了过时的 TLS v1.0 和 v1.1 协议,以提高内部版本库解析外部存储库依赖性的安全性。
Kotlin DSL 脚本编译改进
*
此版本使 Gradle Kotlin DSL 脚本(`.gradle.kts`)的编译速度更快,减少了内存消耗,并引入了 compilation avoidance,从而完全不需要重新编译 Kotlin 构建脚本。
在具有 100 个子项目的示例构建中,使用 cold caches 和 cold daemons 时,累积脚本编译时间从〜50 秒减少到〜21 秒。Garbage collection 时间从 2.6秒减少到 1.3秒。此改进还减少了内存压力。最重要的是,non-ABI 更改现在可以完全消除构建脚本的重新编译,从而节省了 21 秒的时间。
Java 工具链改进
**
Java 工具链支持提供了一种简便的方法来声明应使用哪个 Java 版本构建项目。默认情况下,Gradle 将自动检测可用作工具链的已安装 JDK。
在此版本中,工具链支持已添加到 Groovy 编译任务中,并进行了以下改进:
- 按 vendor 和 implementation 选择工具链
- 查看所有可用的工具链
更多详情可查看更新说明:https://docs.gradle.org/current/release-notes.html