写点什么

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

2016 年 9 月 28 日

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

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

它所支持的语言包括:

  • 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

2016 年 9 月 28 日 19:002119

评论

发布
暂无评论
发现更多内容

面试官,ThreadLocal 你要这么问,我就挂了!

小傅哥

Java 小傅哥 面试题 ThreadLocal 开放寻址

免费CA证书安装配置与背后原理浅析

陈德伟

LeetCode题解:83. 删除排序链表中的重复元素,递归,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

大作业二:总结

zcj

TensorFlow 篇 | TensorFlow 2.x 基于 Keras 的模型构建

Alex

tensorflow keras model

Spring 5 中文解析数据存储篇-DAO支持

青年IT男

Spring5

第二周 框架设计学习总结

钟杰

极客大学架构师训练营

阿里架构师不慎泄露内部互联网架构面试题库。你确定不看一下吗?

小Q

Java 学习 架构 面试 阿里

HashMap源码解析

彭阿三

hashmap HashMap底层原理

甲方日常 21

句子

生活 工作 随笔杂谈 日常

week13---课后作业

Geek_165f3d

线上医疗未来的发展

anyRTC开发者

ios 音视频 WebRTC RTC 安卓

从 LRU Cache 带你看面试的本质

码农田小齐

算法

极客大学 - 架构师训练营 第二周

9527

动图演示:手撸堆栈的两种实现方法!

王磊

Java 数据结构 算法

架构师训练营第一期-第二周课后-作业一

极客大学架构师训练营

架构师训练营第一期-第二周课后-作业二

极客大学架构师训练营

滴滴开源AgileTC:敏捷测试用例管理平台

滴滴技术

开源项目 滴滴技术 滴滴开源

LeetCode题解:83. 删除排序链表中的重复元素,迭代,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

Java8 之 Lambda 表达式

hepingfly

Lambda java8 新特性

多端消息推送的设计思考

Nil

Java spring 设计模式 消息推送

JS中的Timing API

Lawliet

高难度对话读书笔记—认知篇

wo是一棵草

不一样的面向对象(一)

书旅

php 面向对象

聊聊布隆过滤器

海星

网易伏羲问鼎全球AI文创大赛:用户可零门槛生产音视频动画

核桃Eason

人工智能 AI 动画 网易

week13--课后总结

Geek_165f3d

【MySQL】面试官:如何添加新数据库到MySQL主从复制环境?

冰河

MySQL 高可用 主从复制

第13周作业

软件开发的 5 条核心原则,让工作事半功倍

沉默王二

程序员 软件开发

C++的匿名函数(lambda表达式)

良知犹存

c++ 编程开发

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