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

AveMeeks 8年前
   <p><a href="/misc/goto?guid=4958877428956388899" rel="nofollow,noindex">Gradle</a> <a href="/misc/goto?guid=4959717736695920614" rel="nofollow,noindex">发布了</a> 该多语言构建工具的3.0里程碑版本。这个新发布版本的特性包括:</p>    <ul>     <li> <p><a href="/misc/goto?guid=4959717736793305429" rel="nofollow,noindex">Gradle云服务</a></p> </li>     <li> <p>增强的Gradle Daemons:</p>      <ul>       <li> <p>默认启用</p> </li>       <li> <p>查看Gradle Daemons的状态</p> </li>       <li> <p>在Gradle云服务上查看Daemon信息</p> </li>      </ul> </li>     <li> <p>更好的IDE支持:</p>      <ul>       <li> <p><a href="/misc/goto?guid=4958859042026617529" rel="nofollow,noindex">IntelliJ IDEA</a></p> </li>       <li> <p><a href="/misc/goto?guid=4958861964468274772" rel="nofollow,noindex">Eclipse</a></p> </li>       <li> <p><a href="/misc/goto?guid=4958536829631104388" rel="nofollow,noindex">Netbeans</a></p> </li>       <li> <p><a href="/misc/goto?guid=4959717736996393466" rel="nofollow,noindex">Android Studio</a></p> </li>      </ul> </li>     <li> <p>增强并行任务的执行</p> </li>     <li> <p>对Java 9的初步支持</p> </li>     <li> <p>插件增强</p> </li>    </ul>    <p>Gradle是一个综合的构建工具,所支持的语言范围很广,对于代码库由多种语言混合而成的企业来说,它的用处更大。例如, <a href="/misc/goto?guid=4958539894040466979" rel="nofollow,noindex">LinkedIn</a> 依赖Gradle来构建他们由 <a href="/misc/goto?guid=4959717737116376229" rel="nofollow,noindex">60种语言</a> 所组成的网络。Gradle还能够从 <a href="/misc/goto?guid=4958978948623682898" rel="nofollow,noindex">Maven</a> 和 <a href="/misc/goto?guid=4958337767135039274" rel="nofollow,noindex">Ivy</a> 仓库导入依赖。</p>    <p>它所支持的语言包括:</p>    <ul>     <li> <p>Java</p> </li>     <li> <p>C++</p> </li>     <li> <p>Python ( <a href="/misc/goto?guid=4959717737285072650" rel="nofollow,noindex">{py}gradle</a> )</p> </li>     <li> <p>JavaScript</p> </li>     <li> <p>Clojure</p> </li>     <li> <p>Scala</p> </li>    </ul>    <h3><strong>Gradle云服务与Build Scans</strong></h3>    <p><a href="/misc/goto?guid=4959717736793305429" rel="nofollow,noindex">Gradle云服务</a> 在软件开发方面添加了新的功能。通过提供 <a href="/misc/goto?guid=4959717737384780551" rel="nofollow,noindex">Build Scans</a> ,开发人员能够将他们的构建记录放到云端,从而实现与其他人员的协作。为已有的Gradle项目添加 <a href="/misc/goto?guid=4959717737498600373" rel="nofollow,noindex">Build Scan</a> 功能需要在 build.gradle 文件中新增如下的代码:</p>    <pre>  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'      }</pre>    <p>通过执行该命令,这个项目可以进行构建并放到Gradle的云端:</p>    <pre>  $ gradle build -Dscan</pre>    <p><img src="https://simg.open-open.com/show/7684875cd985b4f4a1b9dd8028036b2f.jpg"></p>    <p>在上面的截图中,有两个地方值得注意:</p>    <ul>     <li> <p>将会自动启动一个Gradle Daemon;</p> </li>     <li> <p>会有一个连接指向Gradle的云服务,以便查看构建信息。</p> </li>    </ul>    <p>在一个简单的激活过程之后,这个项目构建信息就可以 <a href="/misc/goto?guid=4959717737586862533" rel="nofollow,noindex">在线</a> 查看了。</p>    <p>Tim Berglund是 <a href="/misc/goto?guid=4959717737688765529" rel="nofollow,noindex">DataStax</a> 的教育主管,同时也是 <a href="/misc/goto?guid=4959717737786144112" rel="nofollow,noindex">《Gradle: Beyond the Basics》</a> 一书的作者,他同InfoQ讨论了最新版本的Gradle。</p>    <p><strong>InfoQ:目前,你在DataStax的角色是什么呢?</strong></p>    <p>Berglund:我在DataStax担任教育主管。我负责所有的课程开发、DataStax学院的Web站点( <a href="/misc/goto?guid=4959717737884234941" rel="nofollow,noindex">https://academy.datastax.com</a> )以及所有培训相关的视频制作。我的团队帮助人们更加便利地使用我们的旗舰产品,也就是DataStax企业版。</p>    <p><strong>InfoQ:通过Gradle Daemons和云服务这样的特性,看起来Gradle正在与其他的构建工具拉开距离,如Maven、Ant和Pants。你认为其他的工具会效仿吗?</strong></p>    <p>Berglund:我完全站在局外人的位置来看这件事,我从来没有与Gradle公司接触过,但是我认为,云产品是领先于竞争对手的一个巨大飞跃。我并不期望Ant会效仿Gradle的做法,因为最近这个项目的开发节奏非常慢,而且没有什么商业考量能够使其加快研发的速度。我非常期望Maven能够以某种形式进行回应。这听起来像是助推器,如果Maven不这样做的话,我就无法看到一个持续关注企业愿景的构建工具在这方面进行竞争了。</p>    <p><strong>InfoQ:相对于其他的构建工具,你认为是什么让Gradle独树一帜呢?</strong></p>    <p>Berglund:我一直将Gradle视为编写构建软件的一组API。的确,它有一个非常简单的声明式模式以及执行常规任务的一些标准插件,但在企业级软件开发中,有一种共同的认识,即构建本身就是企业中一些精心设计的程序,该程序由专门的开发人员来编写,这些开发人员需要有一个专门的开发工具。这类似于DevOps:我们使用这个术语来描述某种开发人员,他们不仅要管理系统,还要将它们作为专门的领域来进行编程。构建同样如此,Gradle是支持这种软件开发模式的唯一构建工具。</p>    <p><strong>InfoQ:你有更新《Building and Testing with Gradle》和/或《Gradle: Beyond the Basics》,将Gradle的新特性包含进来的计划吗?</strong></p>    <p>Berglund:很遗憾,我并没有这样的规划,我的关注点已经转移到其他领域了,而不是继续编写这些图书。这是一个很重要的话题,因此它需要由全部精力都在这方面的人来进行处理。我希望这些修订能够在别人的名义下进行。</p>    <p> </p>    <p> </p>    <p>来自:http://www.infoq.com/cn/news/2016/09/gradle-releases-version-3</p>    <p> </p>