Gradle 7.2 发布

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

此版本增加了多项可用性改进,例如对 Scala 项目的 工具 链支持,并改进了操作系统之间的构建缓存命中率。当遇到问题和一些错误修复时,还有一些变更可以使远程 HTTP 构建缓存更具弹性。

下载连接:点击进入快速下载

具体更新内容如下:

新功能和可用性改进
对 Scala 项目的 Java 工具链支持
复制文件时保留转义序列
改进基于 HTTP header 的认证的凭证处理
dependencies 和 dependencyInsight 支持配置名称缩写
版本目录改进
支持声明 sub-accessors
支持声明插件版本
性能优化
改进操作系统之间的构建缓存命中率
对 Groovy 和 Scala 项目的配置缓存支持
远程构建缓存的可靠性改进
出现临时网络错误时可自动重试上传
默认跟随重定向
使用 Expect-Continue 避免冗余上传

此外,Gradle 7.2 还修复了共计 51 个 问题。

[#18035] -grad le声明存储库文档中的过时图形
[#17816] - GRADLE_CYGPATTERN应该像GRADLE_OPTS一样注入到调整到已构建应用程序的模板中
[#17815] -在生成的shell脚本中,根级文件没有为Cygwin(和msys)进行路径转换
[#17807] -bash包装器和启动脚本中的Linux到Windows路径转换不适用于根目录下的cygdrive挂载
[#17644] -当缺少一个或两个值时,Provider.zip在isPresent调用中引发异常
[#17626] -7.2波兰发行说明
[#17619] -当内部类中声明的插件位于类路径中时,Kotlin预编译脚本插件无法编译
[#17592] -输入和输出批注的预期属性类型的文档是错误的
[#17572] -带注释的“package-info.java”中断了6.8+的增量编译
[#17561] - Gradle错误地检测到缺少输出文件和包含**的输入过滤器之间缺少任务相关性
[#17551] - Gradle的最新检查在Windows FAT驱动器上不起作用
[#17509] -“供应商”选择与Java工具链的混淆行为
[#17465] -将嵌入式Kotlin升级到1.5.x
[#17433] -更新JCenter APIs和资料档案库的关闭/弃用状态
[#17423] -围绕“dependencyInsight”变化的最新夜间回归
[#17410] -当报告的类在runtimeClasspath上可用时,PMD显示“类型解析期间出错”
[#17383] -构建初始化插件是区域敏感的
[#17340] -运行“任务”任务时,配置缓存导致ClassNotFoundException
[#17274] -MacOs上不考虑最大打开文件数限制
[#17273] -将自定义“PublishArtifact”添加到“MavenPublication”失败
[#17227] -缺少Project.relativePath()的Javadoc,引发IllegalArgumentException
[#17179] -如果约束中的类型不是DefaultDependencyConstraint,则生成配置副本会引发ClassCastException
[#17170] -来自TOML文件的键入dep的更好的错误消息。
[#17128] -不要在工具API客户端加载文件事件库
[#17086] -改进关于lambdas用作附加操作的错误消息
[#17075] -难以使用gradle 7.0定义KotlinCompileDaemon参数
[#16962] -Android项目中的工件视图包含错误的文件依赖关系
[#16946] - Base插件覆盖project.status并将其设置为非默认值
[#16919]-` resolvedartifactresult . get variant()。如果项目来自“artifact collection ”, get capabilities()”为空
[#16797] - VisitableURLClassLoader泄漏。
[#16555] -错误地将0.7.0+26识别为maven不兼容
[#16409] -对内置任务使用DisableCachingByDefault批注
[#16141] -支持在依赖项/依赖项任务中选择配置的camelCase shourtcuts
[#16055] -当路径包含$字符时,unix gradle包装失败
[#15961] -ScalaCompile任务的缓存条目有时不包括已编译的类
[#15659] -调用“依赖项”任务时,Gradle复合构建抛出IllegalStateException
[#15405] -grad connector # disconnect可能会触发分发版的意外下载
[#14563] - TAPI:提供API以获得所有包含的嵌套构建和构建
[#13984] - scala插件联合编译成功,但没有产生字节码文件
[#13461] -让“scala”插件支持配置缓存
[#13460] -使“groovy”插件支持配置缓存
[#12989] -支持创建包含大于8 GB的文件的TAR归档
[#12756] -忽略Windows目录的“修改”事件
[#11651] -在嵌套的复合版本中找不到插件
[#10808] -使用includeBuild和enforcedPlatform时,从DefaultProjectDependencyMetadata到ModuleDependencyMetadata的类转换异常
[#10751] -不赞成使用Java lambda作为任务操作
[#10492] -在复制任务扩展方法中添加转义反斜杠的选项
[#9932] -使用S3 maven知识库时收到S3输入流中止警告
[#9117] -更严格地测量执行时间
[#17936] -无法加载在“ZipTreeSpec”的字段“file”中找到的“transformbackedprovider”bean的字段“transformer”的值
[#17893] -Gradle 7.2-RC-1中auxclasspath生成的PMD回归
[#17880] -[配置缓存]对Jar任务使用带有archiveName的约定映射会导致失败
[#17534] -提供商#zip失去任务相关性