Gradle 7.0 发布

来源: OSCHINA
2021-04-12

Gradle 7.0 现已发布。Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具,支持依赖管理和多项目,类似 Maven,但比之简单轻便。它使用一种基于 Groovy 的特定领域语言来声明项目设置,而不是传统的 XML。

该版本默认启用文件系统监视功能,使你的增量构建速度更快;扩展了对使用 Java 16 构建项目的支持;并增加了对在使用 Apple Silicon 处理器(如 M1)的 Mac 上构建的支持。

同时,此版本还引入了 centralized dependency versions 的功能预览,启用构建验证错误,使你的构建更加可靠,并使其更容易为设置文件创建 convention plugins。且许多孵化中的功能已经晋升为稳定版。具体更新内容如下:

性能提升

更快的增量构建

文件系统监视是 Gradle 6.5 中的一项可选功能,在 Gradle 6.7 中被标记为生产就绪。 当启用时,Gradle 会在两次构建之间将它所了解到的文件系统保存在内存中,并在每次构建时跳过从文件系统中读取。这大大减少了确定自上一次构建以来发生了什么变化所需的磁盘 I/O 量。

现在,在所有支持的平台上,包括最新版本的 Windows、Linux 和 MacOS,都默认启用了这项优化。有关更多详细信息,可参见文档

Android 项目中更快的增量更改

此版本包含了对 Android 项目中增量更改的性能改进,特别是那些使用 Jettifier 的项目。例如,与 Gradle 6.8 相比,Santa Tracker Android 项目中的 non-ABI 更改的 assembleDebug 提高了 12%:

忽略空 buildSrc 项目

Gradle 现在将忽略一个空的 buildSrc 目录,只有在检测到构建文件和/或源文件时才会生成一个 buildSrc.jar。当检测到一个空的 buildSrc 目录时,有两个好处:

  • :buildSrc:* 任务将不会被不必要地执行。
  • 空的 buildSrc.jar 不会被添加到 buildcript class path 中,避免了可能造成的 cache misses。

新功能和可用性改进

  • 对 Apple Silicon 的原生支持
  • 支持 Java 16
  • Centralized dependency versions
  • 类型安全的 project accessors
  • Groovy 3 升级
  • Dependency locking 改进
  • 在 plugins block 中使用 dynamic 版本

更多详情可查看更新说明:https://docs.gradle.org/7.0/release-notes.html

展开阅读全文
5 收藏
分享
加载中
35 评论
5 收藏
分享
返回顶部
顶部