多语言构建工具 Gradle 发布 3.0 版本

阅读数:1775 2016 年 9 月 28 日

话题:JavaDevOps语言 & 开发架构

Gradle 发布了该多语言构建工具的 3.0 里程碑版本。这个新发布版本的特性包括:

Gradle 是一个综合的构建工具,所支持的语言范围很广,对于代码库由多种语言混合而成的企业来说,它的用处更大。例如,LinkedIn依赖 Gradle 来构建他们由60 种语言所组成的网络。Gradle 还能够从MavenIvy仓库导入依赖。

它所支持的语言包括:

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

Gradle 云服务与 Build Scans

Gradle 云服务在软件开发方面添加了新的功能。通过提供Build Scans,开发人员能够将他们的构建记录放到云端,从而实现与其他人员的协作。为已有的 Gradle 项目添加Build Scan功能需要在build.gradle文件中新增如下的代码:

 plugins {
    id 'com.gradle.build-scan' version '1.1.1'
    id 'java'
    }

buildScan {
    licenseAgreementUrl = 'https://gradle.com/terms-of-service'
    licenseAgree = 'yes'
    tag 'SAMPLE'
    link 'GitHub','https://github.com/gradle/gradle-build-scan-quickstart'
    }

通过执行该命令,这个项目可以进行构建并放到 Gradle 的云端:

 $ gradle build -Dscan

在上面的截图中,有两个地方值得注意:

  • 将会自动启动一个 Gradle Daemon;
  • 会有一个连接指向 Gradle 的云服务,以便查看构建信息。

在一个简单的激活过程之后,这个项目构建信息就可以在线查看了。

Tim Berglund 是DataStax的教育主管,同时也是《Gradle: Beyond the Basics》一书的作者,他同 InfoQ 讨论了最新版本的 Gradle。

InfoQ:目前,你在 DataStax 的角色是什么呢?

Berglund:我在 DataStax 担任教育主管。我负责所有的课程开发、DataStax 学院的 Web 站点(https://academy.datastax.com)以及所有培训相关的视频制作。我的团队帮助人们更加便利地使用我们的旗舰产品,也就是 DataStax 企业版。

InfoQ:通过 Gradle Daemons 和云服务这样的特性,看起来 Gradle 正在与其他的构建工具拉开距离,如 Maven、Ant 和 Pants。你认为其他的工具会效仿吗?

Berglund:我完全站在局外人的位置来看这件事,我从来没有与 Gradle 公司接触过,但是我认为,云产品是领先于竞争对手的一个巨大飞跃。我并不期望 Ant 会效仿 Gradle 的做法,因为最近这个项目的开发节奏非常慢,而且没有什么商业考量能够使其加快研发的速度。我非常期望 Maven 能够以某种形式进行回应。这听起来像是助推器,如果 Maven 不这样做的话,我就无法看到一个持续关注企业愿景的构建工具在这方面进行竞争了。

InfoQ:相对于其他的构建工具,你认为是什么让 Gradle 独树一帜呢?

Berglund:我一直将 Gradle 视为编写构建软件的一组 API。的确,它有一个非常简单的声明式模式以及执行常规任务的一些标准插件,但在企业级软件开发中,有一种共同的认识,即构建本身就是企业中一些精心设计的程序,该程序由专门的开发人员来编写,这些开发人员需要有一个专门的开发工具。这类似于 DevOps:我们使用这个术语来描述某种开发人员,他们不仅要管理系统,还要将它们作为专门的领域来进行编程。构建同样如此,Gradle 是支持这种软件开发模式的唯一构建工具。

InfoQ:你有更新《Building and Testing with Gradle》和 / 或《Gradle: Beyond the Basics》,将 Gradle 的新特性包含进来的计划吗?

Berglund:很遗憾,我并没有这样的规划,我的关注点已经转移到其他领域了,而不是继续编写这些图书。这是一个很重要的话题,因此它需要由全部精力都在这方面的人来进行处理。我希望这些修订能够在别人的名义下进行。

希望开始使用的 Gradle 的开发人员,可以免费获取电子书《Building and Testing with Gradle》(Berglund 和Matthew McCullough合著)和《Gradle: Beyond the Basics》(Berglund)以及workshops视频。

针对 Gradle 3.0 的样例代码可以在GitHub上找到。

查看英文原文Gradle Releases Version 3.0 of Their Polyglot Build Tool