Gradle 2.0 发布:简单、快速、支持 Java 8

  • 郭蕾

2014 年 7 月 3 日

话题:DevOps语言 & 开发架构

7 月 2 日,Gradle 2.0 正式发布。Gradle 是一款基于 Groovy 语言的构建工具,它既保持了 Maven 的优点,又通过使用 Groovy 定义的 DSL 克服了 Maven 中使用 XML 繁冗以及不灵活的缺点。Gradle 2.0 是 Gradle 版本发展史上的一个重要里程碑,大版本的发布意味着 Gradle 更加成熟。新版本的 Gradle 除修复了大量 Bug 外,还移除了很多已经过时的特性以及 API,并引入了依赖管理系统,并加入对 Java 8 的支持。具体更新如下:

  1. 更新到 Groovy 2.3.2

    Gradle 2.0 使用 Groovy 2.3.2 编译和运行脚本以及插件,而 Gradle 1.x 系列的最新发布版 Gradle 1.12 使用 Groovy 1.8.6。Gradle 2.0 选择了高版本的 Groovy 也就暗示着构建脚本以及插件、任务可以使用 Groovy 语言的所有最新特性。

  2. 支持 Java 8

    不再支持 Java 5 并开始支持 Java 8。

  3. 新的获取构件源代码以及 javadoc 的 API

    引入了新的构件解析 API,提供了单独的组件和构件解析 API,新的‘构件查询’API 的入口点是dependencies.createArtifactResolutionQuery()

  4. 从组件的元数据规则中获取 Ivy 的附加信息

  5. 通过plugins.withId()与插件交互

    在之前,插件中执行一些配置只能通过plugins.withType(Class)实现,现在可以通过更简便的方法plugins.withId(String)来完成,只需要传递插件的 ID 即可。

  6. Ivy 和 Maven 仓库支持 SFTP 协议

    除了 file、HTTP、HTTPS 外,Ivy 和 Maven 仓库开始支持 SFTP 传输协议。但是目前 SFTP 的认证只支持用户名和密码认证。

  7. 改进了 Gradle Tooling API

    Gradle Tooling API 提供了一种程序化的方式与 Gradle 互动,这使得 IDE 和构建系统的集成上升到了更高的层次。

  8. 支持 C 和 C++

    Gradle 对 C 和 C++ 的支持,使得 Gradle 的构建、测试和提交工作不仅限于基于 JVM 的系统。

从 2012 年 6 月发布 1.0 以来,Gradle 一直以八周一个新版本的速率稳步升级,从 1.0 到 2.0,Gradle 也逐渐成熟。Gradle 2.0 在性能和内存利用率上进行了巨大改进。具体的版本更新信息可以参考官方的Release Notes。读者可以在这里下载最新版本的 Gradle。另外 Gradle 基于 Groovy,Groovy 是一门基于 JVM 的敏捷开发语言,它结合了 Python、Ruby 和 Smalltalk 的许多强大的特性。关于 Groovy 的介绍读者可以看下这个视频

DevOps语言 & 开发架构