Gradle 5.0 RC2 发布,支持 Java 11、Kotlin DSL 生产就绪

h4cd
 h4cd
发布于 2018年11月13日
收藏 13

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

此版本带来生产就绪的 Kotlin DSL、依赖版本对齐(与 Maven BOM 类似)、任务超时与 Java 11 支持等。

Kotlin DSL 1.0 

Gradle Kotlin DSL 1.0 发布了,并且生产就绪。使用 Kotlin 编写构建逻辑可在 IDE 中提供重要的额外编辑帮助,包括改进的代码补全、错误突出显示和重构工具等。


依赖版本对齐

    依赖项版本对齐允许属于同一逻辑组(platform)的不同模块在依赖图中具有相同的版本。可以导入 Maven BOM 定义 platform:

    dependencies {
        // import a BOM. The versions used in this file will override any other version found in the graph
        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")
        
         // this version will be overriden by the one found in the BOM
        implementation("org.codehaus.groovy:groovy:1.8.6")
    }

    任务超时

    现在可以指定任务的超时持续时间,之后它将被中断。

    性能特性

    • Gradle 现在可以作为低优先级进程启动,这可以确保 IDE 或浏览器等应用即使在运行要求极高的构建时也保持响应。

    • 以往使用具有 Iterable 类型的 @OutputFiles 或 @OutputDirectories 时,Gradle 将禁用任务的缓存。现在使用这些属性不会阻止任务被缓存,禁用任务缓存的唯一方法是输出包含文件树

    • JaCoCo 插件现在可以与构建缓存无缝协作,在没有额外配置的情况下应用插件时,测试任务保持可缓存状态,并且可以使用并行测试执行。

    详情查看发布公告

    下载地址:

    本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
    转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
    本文标题:Gradle 5.0 RC2 发布,支持 Java 11、Kotlin DSL 生产就绪
    加载中

    精彩评论

    黑狗
    黑狗

    引用来自“你们都是技术宅”的评论

    非常好用的东西,还在用maven的强烈建议试用一下,反正我用了之后是再也回不去了

    引用来自“很拽De土豆”的评论

    并不好用,相对而言maven只是写起来多了点。尤其是用eclipse的groovy安装都上百M,idea支持相对好一点。最主要的一点就是下载wrap那个压缩包慢得一批。
    只是你不会用而已。。。并不需要下
    就像风
    就像风
    理解不了 Automate Everything 的意义,自然是无法体会 Gradle 的魅力。因为你使用 Maven 也只是仅仅用了 Maven 的依赖管理,除此之外并不其它。
    orpherus
    orpherus
    还在用4.10,新版出的太频繁了

    最新评论(24

    翠翠
    翠翠

    引用来自“crystalsis”的评论

    对gradle的印象大概就是改用自己的maven库的时候要写一大堆东西一大堆判断才能保证用的确实是自己的maven库,并且随着各种情况下加载不到自己公司的jar,这段配置还会越来越长...

    引用来自“翠翠”的评论

    然而如果只是增加 maven 库的地址的话,并不用写一大堆东西一大堆判断。

    引用来自“crystalsis”的评论

    只加一个repositories 的话,会出现该从自建的库里拿的jar包去中央库拿,然而并拿不到.
    难道你们自建的库没有去代理中央库么?nexus oss 是有组的概念的,一个组内部可以包含多个代理库(proxy 模式)和本地库(host 模式),对外只有一个 URL。

    在 build.gradle 里,我都是只设置上述这个 URL 就行了,nexus oss 自己会去中央库,spring 的库,jitpack 库,bintray 库,google 库等一系列库里自己去找依赖项。
    c
    crystalsis

    引用来自“crystalsis”的评论

    对gradle的印象大概就是改用自己的maven库的时候要写一大堆东西一大堆判断才能保证用的确实是自己的maven库,并且随着各种情况下加载不到自己公司的jar,这段配置还会越来越长...

    引用来自“翠翠”的评论

    然而如果只是增加 maven 库的地址的话,并不用写一大堆东西一大堆判断。
    只加一个repositories 的话,会出现该从自建的库里拿的jar包去中央库拿,然而并拿不到.
    翠翠
    翠翠

    引用来自“crystalsis”的评论

    对gradle的印象大概就是改用自己的maven库的时候要写一大堆东西一大堆判断才能保证用的确实是自己的maven库,并且随着各种情况下加载不到自己公司的jar,这段配置还会越来越长...
    然而如果只是增加 maven 库的地址的话,并不用写一大堆东西一大堆判断。
    redblueme
    redblueme
    卡的一笔
    很拽De土豆
    很拽De土豆

    引用来自“你们都是技术宅”的评论

    非常好用的东西,还在用maven的强烈建议试用一下,反正我用了之后是再也回不去了

    引用来自“很拽De土豆”的评论

    并不好用,相对而言maven只是写起来多了点。尤其是用eclipse的groovy安装都上百M,idea支持相对好一点。最主要的一点就是下载wrap那个压缩包慢得一批。

    引用来自“你们都是技术宅”的评论

    首先maven多的不只是一点,复杂点的功能maven的xml配置长的人怀疑人生。而且gradle构建速度确实比maven快很多,日常用就能省很多时间。最后就是gradle wrapper这玩意我感觉确实不太好用,时间久了本地几十个版本的gradle很尴尬,所以我都是用chocolatey本地安装gradle,更新也方便。用习惯了以后非常顺手,什么scala,c++现在gradle也都能处理,很舒服
    maven也支持gradle的简单写法,另外构建速度实话说我感觉速度基本差不多,每次都要折腾环境与拿来就用麻烦太多了,个人项目我觉得ok,但是团队项目太难推广了。
    c
    crystalsis
    对gradle的印象大概就是改用自己的maven库的时候要写一大堆东西一大堆判断才能保证用的确实是自己的maven库,并且随着各种情况下加载不到自己公司的jar,这段配置还会越来越长...
    你们都是技术宅
    你们都是技术宅

    引用来自“你们都是技术宅”的评论

    非常好用的东西,还在用maven的强烈建议试用一下,反正我用了之后是再也回不去了

    引用来自“很拽De土豆”的评论

    并不好用,相对而言maven只是写起来多了点。尤其是用eclipse的groovy安装都上百M,idea支持相对好一点。最主要的一点就是下载wrap那个压缩包慢得一批。
    首先maven多的不只是一点,复杂点的功能maven的xml配置长的人怀疑人生。而且gradle构建速度确实比maven快很多,日常用就能省很多时间。最后就是gradle wrapper这玩意我感觉确实不太好用,时间久了本地几十个版本的gradle很尴尬,所以我都是用chocolatey本地安装gradle,更新也方便。用习惯了以后非常顺手,什么scala,c++现在gradle也都能处理,很舒服
    漂浪天下
    曲线有点陡啊,文档和天书没区别,目前来说还是maven顺手点
    就像风
    就像风
    理解不了 Automate Everything 的意义,自然是无法体会 Gradle 的魅力。因为你使用 Maven 也只是仅仅用了 Maven 的依赖管理,除此之外并不其它。
    -TNT-
    -TNT-
    还是找不到换gradle的刚需…感觉不能给自己的开发工作带来太多好处
    返回顶部
    顶部