命令行参数支持JavaExec
通过“--args”可以像JavaExec传递参数。例如,如果要使用命令行参数foo --bar启动应用程序,则无需将其硬编码到构建脚本中 - 您只需运行gradle run --args'foo --bar'即可。
改进了依赖洞察报告
依赖性洞察报告是构建扫描的远程祖先,可帮助您在本地诊断依赖关系管理问题。此版本的Gradle实现了一些改进:
- failOnVersionConflict()在发生冲突时,依赖性洞察报告不再使用失败
- 显示解决冲突的所有参与者
- 显示被规则拒绝的模块
- 显示了与版本选择器不匹配但在选择中被考虑的模块
- 显示组件选择的所有自定义原因
- 为了便于阅读,可以将报告限制为每个依赖项的一条路径
- 分辨率失败显示在报告中
Native生态系统持续发展
Gradle Native项目继续改进和发展Gradle的原生态生态系统支持。
构建速度加速
Gradle现在在用户主目录中存储更多状态而不是项目目录。 只要保留用户主页,基于CI的构建现在应该更快。
Java和Groovy编译器不再泄漏文件描述符
Java和Groovy编译器都在进程内运行时泄漏文件描述符(这是默认设置)。这将导致Windows上“无法删除文件”和Unix上出现“打开的文件描述符过多”的异常。这个漏洞已经被修复。现在可以安全地切换回进程内编译了。
实验性新任务API
新任务API避免了为从不执行的脚本创建和配置任务,从而减小了开销。
某些Gradle任务已转换为使用此API,因此您只需通过升级即可看到稍快的配置。 随着更多插件采用此API,该API将得到改善。
要了解有关延迟任务API的更多信息,请参阅有关迁移的任务配置规避章节,在非生产环境中进行尝试,以及提交问题或与我们讨论。 非常欢迎您的反馈。 这个API正在孵化,可能会在Gradle 5.0之前发生变化。