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)与丰富模式的输出不一样。
\\
\\
在新版本中,普通模式和丰富模式都会产生相同的输出。如下面的命令行示例所示,由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相关推荐
- Apache Tomcat版本支持java版本
Servlet规格 JSP规范 EL规格 WebSocket规范 认证(JASIC)规范 Apache Tomcat版本 最新发行版本 支持的Java版本 5.0 3.0 4.0 2.0 2.0 10 ...
- Web 爬虫 Apache Nutch 1.15 发布,支持 Java 10
Apache Nutch 1.15 已发布.Nutch是一个成熟的.可用于生产的 Web 爬虫. Nutch 1.x 可以依靠 Apache Hadoop™ 数据结构进行细粒度配置,这对于批处理非常有 ...
- 腾讯云TDSQL-A发布公有云版本 支持第七次全国人口普查等海量数据场景
5月18日,腾讯云发布首款全自研分布式分析型数据库TDSQL-A,全力应对海量数据实时分析需求. 这是腾讯云数据库在品牌升级后的首次新品发布,意味着腾讯云将这种多年积累的经验更加广泛全面地向社会行业开 ...
- 服务器传输文件多路同传,迅雷发布4.0版本 支持多点服务器同传(图)
文/dMei 迅雷升级啦!对已不是新手的玩家来说,这无疑是一个好消息,从发现迅雷下载工具开始,我就成为了其忠实的使用者啦.迅雷以前的版本除了可降低死链.支持多节点断点续传.支持各节点自动路由.支持从多 ...
- 3月20日, Java 10 正式发布了!
3 月 20 日,Oracle 宣布 Java 10 正式发布.官方已提供下载:http://www.oracle.com/technetwork/java/javase/downloads/inde ...
- 最新版Byte Buddy完全支持Java 11
Java字节码工程库Byte Buddy最新版本完全支持Java 11以及自Java 8以来引入的所有类文件和字节码新特性.其中包括新的ConstantDynamic(有时称为condy)特性和Jav ...
- Java 10新特性
Java 10新特性 Java 10是其23年历史中最快的java版本.Java因其缓慢的增长和发展而受到批评,但Java 10刚刚破坏了这一概念.Java 10是一个具有许多未来变化的版本,其范围和 ...
- Java 10 新特性概述
Java 10是其23年历史中最快发布的java版本.Java因其缓慢的增长和发展而受到批评,但Java 10刚刚破坏了这个概念.Java 10是一个具有许多未来变化的版本,其范围和影响可能并不明显, ...
- Java 10 新特性介绍
作为当今使用最广泛的编程语言之一的 Java 在 2018 年 3 月 21 日发布了第十个大版本.为了更快地迭代.更好地跟进社区反馈,Java 语言版本发布周期调整为每隔 6 个月发布一次.Java ...
最新文章
- Java 多线程概述
- IDEA集成Docker插件实现一键自动打包部署微服务项目
- 物联网生物识别技术在工作场所中发挥更大作用
- windows 7下如何卸载重装mysql 压缩包版百度经验_windows下安装、卸载mysql服务的方法(mysql 5.6 zip解压...
- 此项目的默认Web访问模式设置为文件共享, 但是无法从路径(此为转贴)
- Linux集群和自动化维1.4.2 优化Linux下的内核TCP参数以提高系统性能
- Emmet的html语法
- c 自动生成mysql表结构_EntityFrameworkCore 根据实体类自动创建数据库
- ubuntu 安装 oracle-xe-universal
- linux(Centos7)安装elasticsearch6.2.2
- 多因子策略介绍与应用
- python语义分析_NLPIR语义分析系统——文本分析利器
- CDA LEVEL I分数占比解读,看懂这些,考试更容易拿分
- iOS 12.0-12.1.2 完整越狱教程
- 计算机中年级排名怎么操作,智学网怎么查看年级排名?智学网查看年级排名的方法...
- 中国计算机设计大赛蔡思琦,建策杯2018年江苏省大学生计算机设计大赛.PDF
- HTTP和MQTT协议实践
- 暨大计算机研学教育,暨大数学复试线平台,统计学
- 01 【介绍 使用步骤 引入方式 基础配置】
- python shutil.move 移动文件