Gradle发布4.7版本,支持Java 10

看新闻很累?看技术新闻更累?试试 下载InfoQ手机客户端
,每天上下班路上听新闻,有趣还有料!

gradle是一个综合性的多语种构建工具,已经发布了4.7版,新功能包括:

  • 增量式注解处理
  • Java 10运行时支持
  • 分组的非交互式控制台日志
  • 优先重新运行失败的测试以获得更快的反馈
  • Kotlin DSL 0.16
    ,新的预编译脚本插件

下面简要介绍其中的一些功能。

增量式注解处理

Gradle的增量Java编译器(自2.1版开始提供)已得到增强,包括对 注解的增量处理
。 Gradle支持两种用于增量式编译的注解处理器:一种是隔离,单独处理注解元素,一种是聚合,将多个注解元素聚合到一个或多个输出文件中。其他类型的注解处理器会对注解进行全面的重新编译。

下面的例子演示了如何将一个 Dagger
注解处理器添加到build.gradle文件中:

dependencies {
  // Dagger只能在注解类路径中找到
  annotationProcessor 'com.google.dagger:dagger-compiler:2.8'

  // Dagger类库需要存在类路径中
  implementation 'com.google.dagger:dagger:2.8'
  }

非交互式控制台日志

Gradle支持两种控制台模式:普通模式(plain),用在IDE或CI构建代理中,还有一种是丰富模式(rich),用在命令行中。在新版本之前,普通模式的输出(如下面使用IntelliJ IDEA中的Gradle 4.4)与丰富模式的输出不一样。

 Gradle发布4.7版本,支持Java 10

在新版本中,普通模式和丰富模式都会产生相同的输出。如下面的命令行示例所示,由Gradle任务生成的日志信息现在被分组在一起,头部信息前面增加了> Task

 Gradle发布4.7版本,支持Java 10

Kotlin DSL

Gradle现在支持的Gradle Kotlin DSL 版本0.16.3
,带有预编译 Kotlin DSL
脚本,支持Kotlin 1.2.31和Java 10,可以与IntelliJ IDEA更好的集成,并提供更一致的API

发行说明中写道:

预编译脚本插件是编译过的Kotlin脚本,这些脚本是常规Kotlin源代码集的一部分。插件的标识符将自动从文件名和可选的包名声明中获得。

可以在build.gradle文件中启用预编译脚本:

plugins {
  'java-gradle-plugin'
  'kotlin-dsl'
  }

apply
<org gradle="" kotlin="" dsl="" plugins="" precompiled="" precompiledscriptplugins="">
 ()

</org>

一旦启用,在src/main/kotlin中定义的脚本会自动变成普通的Gradle插件。在下面的示例中,一个叫作my-plugin.gradle.kts的脚本将成为my-plugin,然后在build.gradle文件中使用。

 Gradle发布4.7版本,支持Java 10

Gradle支持的语言包括:

  • Java
  • C++
  • Python({py} gradle)
  • JavaScript
  • Clojure
  • Scala

原文 

http://www.infoq.com/cn/news/2018/06/gradle-releases-version-4.7

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Gradle发布4.7版本,支持Java 10

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址