Gradle 5.2是Java和Android构建工具的最新版本,它为Java和C ++提供了插件增强功能。
在哪里下载Gradle
您可以从Gradle.org 下载Gradle 。
当前版本:5.2级的新功能
Gradle 5.2包括一个Java平台插件,用于声明Java生态系统的平台。 平台可以包括一起发布的一组模块,这些模块可以是同一版本。 它也可以是一组推荐的异构库版本,或在子项目之间共享一组依赖版本。 平台可以作为Maven物料清单或实验性Gradle元数据文件格式发布。
最新的Gradle版本中的其他新功能包括:
- 依赖于域特定语言(DSL)和配置模型的新C ++插件。 将插件应用于项目时,Gradle会注册项目类型的扩展名,无论是应用程序还是库。 通过此扩展名或插件注册的任务完成配置。 插件支持Windows,Linux和MacOS上的C ++库和应用程序。
- 支持增量和并行编译,以及使用Gradle构建缓存的可缓存编译。 依赖管理是可用的,类似于使用Gradle构建的Java项目。
- Gradle 5.2为
gradle_init
提供了新的项目类型。 - 将服务注入到插件和项目扩展中,其中可以将服务注入到使用
container(Class)
方法构建的container(Class)
的元素中。 这样可以简化插件的实现。 对于可以使用服务注入的类型,可以将服务作为构造函数参数或使用属性getter方法注入实例。 - Gradle Kotlin DSL 1.1.3(提供了错误修复程序)和Kotlin 3.20。
先前版本:Gradle 5.1中的新功能
用于Java和Android开发的Gradle构建工具的版本5.1已经发布,具有依赖项匹配和避免配置API的功能。
该升级于2019年1月发布,可将存储库与依赖项进行匹配。 有了此功能,Gradle将不会在存储库中搜索依赖项(如果不存在)。 为了避免配置,同时,用于创建和配置Task
实例的新API允许Gradle避免创建不需要执行的任务。 Gradle团队建议开发人员在处理插件中的任务时使用此API。
Gradle 5.1中的其他新功能包括:
- Gradle Kotlin DSL 1.1,在Gradle API中为Kotlin lambda提供了Kotlin 1.3.11支持,并提供了改进和增强功能,以改善IntelliJ IDE脚本依赖性解析中的行为。
- 使用
targetMachines
属性构建C ++项目时,可以针对多个体系结构的功能。 - 插件作者的改进,包括使用
validateTaskProperties
更严格的验证以及Map
属性的便利性。 - 为了更轻松地在包含许多可用任务的构建中查找任务,
gradle tasks
现在只能显示属于特定组的任务。 - 作为
ProgressEvents
一部分报告给已注册的ProgressListeners
工具API类型获得了一些增强。 例如,TaskOperatorDescriptor
现在包括注册任务及其依赖项的插件的标识符。
先前版本:Gradle 5.0中的新功能
于2018年11月发布的Gradle 5.0提供了Kotlin版本1.0域特定语言(DSL),Java 11支持和依赖性版本对齐。
Gradle 5.0在其受支持的IDE中为Kotlin提供了编辑体验:JetBrains的IntelliJ Idea和Google的Android Studio 。 DSL将使Kotlin语言更易于编写构建逻辑,并具有改进的完成功能,错误突出显示和重构工具。
5.0版增加了对使用Java Development Kit 11 (Java SE的最新生产版本)运行构建的支持。
依赖性版本对齐使同一组中的不同模块在依赖性图中具有相同的版本。 也可以导入Maven物料清单来定义平台。
Gradle 5.0中的其他新功能包括:
- 任务超时,开发人员可以通过它指定任务的持续时间,在此之后任务将被中断。
- Gradle可以作为低优先级进程启动,以确保即使在运行要求苛刻的构建时,其他应用程序(例如IDE或浏览器)也可以保持响应。
- JaCoCo插件提供了Java代码集成的代码覆盖率指标,可与构建缓存一起使用。 在没有额外配置的情况下应用此插件时,测试任务将保持可缓存状态。 可以使用并行测试执行。
- 为了编写插件,添加了用于创建
SourceDirectorySet
的API。 此外,已经对Provider
API进行了改进,并建立了缓存兼容性。 更多的Provider
实现会跟踪产生Provider
价值的任务。 - Gradle 5.0中有159个修复程序,解决了一些问题,例如缺少MacOS框架的包含路径,该路径在执行期间更改了命名域对象容器的架构,从而暴露了内部类型。
- 在不推荐使用的选项中,
interactive
和recompileScripts
属性已弃用,并将在Gradle 6.0中删除。 - 尽管可以使用Java 6或Java 7运行测试,但最低版本的JVM版本仍需要Java8。开发人员仍然可以使用派生的编译和测试来构建和测试Java 6及更高版本的软件。 另外,命令行客户端现在从64MB的堆开始,而不是1GB,这可能会影响使用
–no-daemon
模式直接在VM内部运行的构建。
翻译自: https://www.infoworld.com/article/3318499/whats-new-in-gradle-5.html