\

看新闻很累?看技术新闻更累?试试下载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)与丰富模式的输出不一样。

\\



\\

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

\\



\\

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文件中使用。

\\



\\

Gradle支持的语言包括:

\\

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

相关资源

\\

  • Gradle的YouTube频道\\t
  • Incremental Compilation, the Java Library Plugin, and Other Performance Features in Gradle 3.4 by Cédric Champeau (February 25, 2017)\\t
  • Gradle Kotlin DSL Tutorial by Nick Apperley (January 2, 2018)\

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

Gradle发布4.7版本,支持Java 10相关推荐

  1. Apache Tomcat版本支持java版本

    Servlet规格 JSP规范 EL规格 WebSocket规范 认证(JASIC)规范 Apache Tomcat版本 最新发行版本 支持的Java版本 5.0 3.0 4.0 2.0 2.0 10 ...

  2. Web 爬虫 Apache Nutch 1.15 发布,支持 Java 10

    Apache Nutch 1.15 已发布.Nutch是一个成熟的.可用于生产的 Web 爬虫. Nutch 1.x 可以依靠 Apache Hadoop™ 数据结构进行细粒度配置,这对于批处理非常有 ...

  3. 腾讯云TDSQL-A发布公有云版本 支持第七次全国人口普查等海量数据场景

    5月18日,腾讯云发布首款全自研分布式分析型数据库TDSQL-A,全力应对海量数据实时分析需求. 这是腾讯云数据库在品牌升级后的首次新品发布,意味着腾讯云将这种多年积累的经验更加广泛全面地向社会行业开 ...

  4. 服务器传输文件多路同传,迅雷发布4.0版本 支持多点服务器同传(图)

    文/dMei 迅雷升级啦!对已不是新手的玩家来说,这无疑是一个好消息,从发现迅雷下载工具开始,我就成为了其忠实的使用者啦.迅雷以前的版本除了可降低死链.支持多节点断点续传.支持各节点自动路由.支持从多 ...

  5. 3月20日, Java 10 正式发布了!

    3 月 20 日,Oracle 宣布 Java 10 正式发布.官方已提供下载:http://www.oracle.com/technetwork/java/javase/downloads/inde ...

  6. 最新版Byte Buddy完全支持Java 11

    Java字节码工程库Byte Buddy最新版本完全支持Java 11以及自Java 8以来引入的所有类文件和字节码新特性.其中包括新的ConstantDynamic(有时称为condy)特性和Jav ...

  7. Java 10新特性

    Java 10新特性 Java 10是其23年历史中最快的java版本.Java因其缓慢的增长和发展而受到批评,但Java 10刚刚破坏了这一概念.Java 10是一个具有许多未来变化的版本,其范围和 ...

  8. Java 10 新特性概述

    Java 10是其23年历史中最快发布的java版本.Java因其缓慢的增长和发展而受到批评,但Java 10刚刚破坏了这个概念.Java 10是一个具有许多未来变化的版本,其范围和影响可能并不明显, ...

  9. Java 10 新特性介绍

    作为当今使用最广泛的编程语言之一的 Java 在 2018 年 3 月 21 日发布了第十个大版本.为了更快地迭代.更好地跟进社区反馈,Java 语言版本发布周期调整为每隔 6 个月发布一次.Java ...

最新文章

  1. Java 多线程概述
  2. IDEA集成Docker插件实现一键自动打包部署微服务项目
  3. 物联网生物识别技术在工作场所中发挥更大作用
  4. windows 7下如何卸载重装mysql 压缩包版百度经验_windows下安装、卸载mysql服务的方法(mysql 5.6 zip解压...
  5. 此项目的默认Web访问模式设置为文件共享, 但是无法从路径(此为转贴)
  6. Linux集群和自动化维1.4.2 优化Linux下的内核TCP参数以提高系统性能
  7. Emmet的html语法
  8. c 自动生成mysql表结构_EntityFrameworkCore 根据实体类自动创建数据库
  9. ubuntu 安装 oracle-xe-universal
  10. linux(Centos7)安装elasticsearch6.2.2
  11. 多因子策略介绍与应用
  12. python语义分析_NLPIR语义分析系统——文本分析利器
  13. CDA LEVEL I分数占比解读,看懂这些,考试更容易拿分
  14. iOS 12.0-12.1.2 完整越狱教程
  15. 计算机中年级排名怎么操作,智学网怎么查看年级排名?智学网查看年级排名的方法...
  16. 中国计算机设计大赛蔡思琦,建策杯2018年江苏省大学生计算机设计大赛.PDF
  17. HTTP和MQTT协议实践
  18. 暨大计算机研学教育,暨大数学复试线平台,统计学
  19. 01 【介绍 使用步骤 引入方式 基础配置】
  20. python shutil.move 移动文件

热门文章

  1. html中两个div垂直居中对齐,在div中垂直居中的两个元素
  2. php 替换img宽度,php 如何替换img
  3. favicon.ico是什么?
  4. 织梦自定义表单地区联动类型不可用的解决办法
  5. [archlinux] linux boot process/order/stage
  6. 需求管理与分析——需求池
  7. poj 2063 Investmen 完全背包
  8. CentOS 安装以及配置Apache php mysql
  9. PHP在不同页面间传递Json数据示例代码
  10. JSP小项目,会员管理系统之实现注册功能