前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Gradle 5.0 更新介绍

Gradle 5.0 更新介绍

作者头像
乐百川
发布2019-07-02 10:51:03
9610
发布2019-07-02 10:51:03
举报

版权声明:本文为博主原创文章,转载请注明出处。 https://cloud.tencent.com/developer/article/1454280

Gradle 5.0正式版出来有几天了,这个工具的发展速度还真是惊人。前些天我看到gradle 5 rc版的时候还在想正式版什么时候出,没想到rc版没过几天正式版就出来了。那么正好,就来介绍一下gradle 5.0正式版加入的一些新功能吧。

依赖版本对齐

项目中引用的第三方包多了,难免出现引入了同一个包的不同版本,导致冲突的情况发生。依赖版本对齐这个功能就是为了解决这种情况而出现的。如果要对齐依赖版本,首先需要一个逻辑组(platform),platform规定了要使用的依赖版本,它可以是我们声明的依赖版本,也可以是由其他地方导入的BOM文件。在遇到了不同版本的情况下,都会对齐到platform中规定的版本上。

下面是官方文档的例子:

代码语言:javascript
复制
dependencies {
    // 导入了BOM文件, 会覆盖其他地方声明的版本
    implementation(enforcedPlatform("org.springframework.boot:spring-boot-dependencies:1.5.8.RELEASE"))

     // define dependencies without versions
    implementation("com.google.code.gson:gson")
    implementation("dom4j:dom4j")

     // 这里的版本会被对齐到BOM中声明的版本
    implementation("org.codehaus.groovy:groovy:1.8.6")
}

Kotlin DSL 1.0

Gradle官方很早就开始开发基于Kotlin的DSL了,在Gradle 5.0中Kotlin DSL正式版终于现身了,这意味着我们可以在生产项目中使用Kotlin DSL了。和默认的Groovy DSL相比,由于Kotlin DSL是静态的,所以可以提供更多的代码补全、提示、语法高亮等支持。

如果想要使用Kotlin DSL,但是还是不太熟悉Kotlin DSL的语法也没有关系,Gradle官方早就写了一大堆示例项目,相信你看完以后肯定就了解如何使用了。连接在这里

Gradle构建初始化功能

gradle init任务现在增加了一些很实用的功能:

  • 交互模式,初始化的时候可以在交互模式中输入信息;
  • Kotlin类库和程序,现在可以在初始化的时候生成Kotlin类库和程序类型;
  • 用推荐的配置生成构建,init任务现在会使用implementationtestImplementationtestRuntimeOnly配置来代替原来的compiletestCompiletestRuntime
  • 配置项目和代码包名,现在init任务提供了参数来设置项目和源代码的包名;
  • 创建资源文件夹,现在init任务还会创建空的resource文件夹;
  • 创建.gitignore文件。

可搜索的文档

这个改进属于官方文档的改进,现在官方文档基于Algolia添加了搜索框,可以搜索你想要的内容。

任务超时

现在任务可以指定一个超时值,当执行时间超过的时候会停止。

解析依赖时的HTTP重试

现在当Gradle通过HTTP访问远程仓库的时候,如果失败,会在拉黑这个仓库之前重试。

性能改进

以低优先级进程方式启动

现在Gradle可以使用--priority low命令行参数或者org.gradle.priority=low属性作为低优先级进程启动,这可以保证IDE和终端即使在繁重的任务时始终处于可响应状态。

还有一些性能改动,感兴趣可以参考官方文档。

Java 11支持

现在可以使用Java 11来运行Gradle。

这个功能其实也挺重要的,之前在升级到Java 11的时候我发现一些Gradle构建失败了,现在可以正常运行它们了。

提升的功能

之前很多功能都处于测试和开发状态,现在它们作为正式特性出现在Gradle中了。官方文档有一个很长的列表,这里只简单列出一部分:

更新日志还有很多地方我没有介绍,有兴趣的可以查看官方文档。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年11月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 依赖版本对齐
  • Kotlin DSL 1.0
  • Gradle构建初始化功能
  • 可搜索的文档
  • 任务超时
  • 解析依赖时的HTTP重试
  • 性能改进
    • 以低优先级进程方式启动
    • Java 11支持
    • 提升的功能
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档