Gradle发布4.7版本,支持Java 10

\

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

\
\\

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

\\
  • 增量式注解处理\\t
  • Java 10运行时支持\\t
  • 分组的非交互式控制台日志\\t
  • 优先重新运行失败的测试以获得更快的反馈\\t
  • 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)与丰富模式的输出不一样。

\\

0dab9baeead68bed03a0eb2c5c703d3e.png

\\

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

\\

be512b574da6854eb1915aa4479481ea.png

\\

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()\
\\

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

\\

f727ce396626ed35032d1aa6f567481a.png

\\

Gradle支持的语言包括:

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

相关资源

\\

查看英文原文Gradle Releases Version 4.7 with Support for Java 10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值