Gradle入门系列(1):简介 - 文章 - 伯乐在线

本文由伯乐在线 - JustinWu翻译。未经许可,禁止转载!
英文出处:Petri Kainulainen。欢迎加入翻译组

Gradle是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于Groovy的内部领域特定语言。近期,Gradle获得了极大的关注,这也是我决定去研究Gradle的原因。

这篇文章是Gradle教程的第一篇,我们有两个目标:

  1. 帮助我们学会安装Gradle。
  2. 介绍一些基本概念,这有助于我们进一步理解本教程的后面章节。

我们开始吧,先看一下如何安装Gradle。

安装Gradle

如果我们使用的操作系统是Windows或Linux,我们可以根据以下步骤安装Gradle:

  1. 这个页面下载二进制文件。
  2. 解压Zip文件,加入环境变量(在PATH中加入GRADLE_HOME/bin目录)。

如果在安装过程中遇到问题,可以进一步查看官方的安装指南
如果我们使用的操作系统是OS X,我们可以使用Homebrew安装Gradle,在命令提示符中输入以下命令:

`brew` `install``gradle`

我们可以验证一下Gradle是否工作正常,在命令提示符中执行命令gradle -v即可,如果Gradle工作正常,我们应该能看到以下输出结果(当然,Windows和Linux用户看到的结果会有细微差异)。

> gradle -v
------------------------------------------------------------
Gradle 1.12
------------------------------------------------------------
Build time: 2014-04-29 09:24:31 UTC
Build number: none
Revision: a831fa866d46cbee94e61a09af15f9dd95987421
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
Ivy: 2.2.0
JVM: 1.8.0 (Oracle Corporation 25.0-b70)
OS: Mac OS X 10.9.3 x86_64

下面我们来快速浏览一下Gradle构建的基本概念。

Gradle构建简介

在Gradle中,有两个基本概念:项目任务。请看以下详解:

  • 项目是指我们的构建产物(比如Jar包)或实施产物(将应用程序部署到生产环境)。一个项目包含一个或多个任务。

  • 任务是指不可分的最小工作单元,执行构建工作(比如编译项目或执行测试)。

那么,这些概念和Gradle的构建又有什么联系呢?好,每一次Gradle的构建都包含一个或多个项目。

下面这张图展示了上面所谈到的这些概念的关系。


63918611gw1ehqthjdvaoj20eb09v3yv.jpg.jpeg

我们能够使用以下配置文件对Gradle的构建进行配置:

  • Gradle构建脚本(build.gradle)指定了一个项目和它的任务。
  • Gradle属性文件(gradle.properties)用来配置构建属性。
  • Gradle设置文件(gradle.settings)对于只有一个项目的构建而言是可选的,如果我们的构建中包含多于一个项目,那么它就是必须的,因为它描述了哪一个项目参与构建。每一个多项目的构建都必须在项目结构的根目录中加入一个设置文件。

你可以在这篇文章中获得更多关于Gradle构建脚本的信息。

我们继续,下面我们看一下如果使用Gradle插件为构建工作加入新功能。

更简短的Gradle插件简介

Gradle的设计理念是,所有有用的特性都由Gradle插件提供,一个Gradle插件能够:

  • 在项目中添加新任务
  • 为新加入的任务提供默认配置,这个默认配置会在项目中注入新的约定(如源文件位置)。
  • 加入新的属性,可以覆盖插件的默认配置属性。
  • 为项目加入新的依赖。

Gradle用户手册提供了一系列标准Gradle插件

在我们为项目加入Gradle插件时,我们可以根据名称或类型来指定Gradle插件。

我们可以将下面这行代码加入到build.gradle文件中,它通过名称指定Gradle插件(这里的名称是foo):

apply plugin: 'foo'

另一方面,我们也可以通过类型指定Gradle插件,将下面这行代码加入到build.gradle文件中(这里的类型是com.bar.foo):

apply plugin: 'com.bar.foo'

你可以阅读这篇文章,掌握应用插件的更多信息。

今天就到这里,我们来总结一下我们所学的内容。

总结

这篇教程讲授了三部分内容:

  • 我们学会了如何安装Gradle
  • 我们理解了Gradle构建的一些基本知识
  • 我们了解了如何使用Gradle插件为我们的构建工作增加功能。

转载自:http://blog.jobbole.com/71999/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,376评论 25 707
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,717评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,579评论 18 139
  • 1.介绍 如果你正在查阅build.gradle文件的所有可选项,请点击这里进行查阅:DSL参考 1.1新构建系统...
    Chuckiefan阅读 12,111评论 8 72
  • 粒儿从小就淘气,那日得一神器,是扇拆掉的旧窗,长方形,三个横格,梯子!有了这件神器再高的墙都不怕了,终于爬上对面的...
    活着的责任阅读 176评论 0 0