Gradle 5.0-新增功能

在开发CUBA的过程中,我们使用了所有三个主要的构建工具-我们从Ant开始,然后在短时间内切换到Maven,现在我们使用Gradle,并且看起来我们将在不久的将来继续使用它。


不久前,Gradle 5.0发布了。 此版本具有大量的新功能,这些功能将帮助开发人员编写更复杂的脚本并更快,更轻松地组装项目。


图片


Kotlin DSL


第一项创新是Kotlin DSL 。 现在,构建脚本可以用Kotlin编写,并且由于自动补全,基本上可以真正加快工作速度。 语法错误高亮显示和IDEA中的其他方便功能也可以使用。 当然,IDEA也会尝试为Groovy做到所有这些,但是仍然可以感觉到强类型。 据说Kotlin DSL稳定,因此您可以放心使用。


我必须切换到Kotlin吗? 不,这不是必须的,将支持Groovy DSL,并且它不会被废弃。 接下来,您需要分别考虑每个项目。 要使用Kotlin DSL,您需要Gradle 5和至少8的JDK,在某些情况下这可能不适用。 此外,由于松懈的打字,Groovy在脚本编写方面提供了更大的灵活性。 无论如何,决定权都取决于开发人员,但是如果您仍然决定切换到Kotlin,则可以使用迁移指南


交互式初始化


现在,最后,您不能在项目的初始组装过程中编写一堆键,而是选择项目的类型,构建脚本的语言,甚至是用于以交互方式进行测试的框架。 我们编写gradle init-并享受。 在Kotlin上支持项目生成!


增量编译和注释处理


增量编译机制不断发展(包括处理像Lombok这样库的批注 )-无需重新编译所有代码。 您可以创建自己的支持增量编译的任务


由于建立了缓存,加快了构建过程,优化了内存工作。


FailFast测试-测试将从上一个错误开始(当然如果有的话)。


依赖管理


支持BOM文件-干杯!


声明对版本替换规则的微调 ,您可以编写程序代码以直接在汇编文件中处理特别复杂的情况。 在同一位置-禁用传递依赖。


您可以强制阻止依赖项的版本,并防止其被较早的版本覆盖。


并且,除了所有内容外,还支持版本“冻结”的依赖性。


新任务API


创建任务领域的改进过程仍在继续。 有些新事物肯定会为许多人派上用场。


Worker API ,它允许您以不同的隔离级别(甚至可以在不同的JVM上)并行运行任务。 除了并行执行之外,还可以使其等待其他任务完成。


超时API-设置任务的最大执行时间。


配置避免API-允许您不创建或配置仍不会执行的任务。


总结-对于Kotlin来说,一个好的工具甚至更好-特别感谢,现在您可以在上面编写所有内容:前端,后端,移动客户端和构建脚本。

Source: https://habr.com/ru/post/zh-CN432024/


All Articles