Gradle教程Part1:安装+启动

翻译自:http://rominirani.com/2014/07/28/gradle-tutorial-part-1-installation-setup/

在这个教程中,咱们将注意力集中在Gradle的启动上。尽管Android Studio内置了Gradle,咱们如今的目标是理解Gradle的安装,启动,执行基本的Gradle命令。java

在咱们开始前,若是你想知道为何Gradle是构建工具很好的选择,我建议你阅读这篇文章article。尽管须要基础才能阅读它,这篇文章将开拓你的视野为何开发者如此拥簇Gradle.windows

接下来几部分将会带你安装Gradle。Gradle须要java环境,我假设你是java开发者,已经安装了java sdk在你的机器上。jvm

下载 Gradle

目前为止,Gradle最新版是2.2.1能够在这里获取。工具

下载zip文件到你机器上。你会发现它的文件名为gradle-2.2.2-all.zip。将它解压缩。学习

在个人机器上,我将它解压到e:\gradle-2.2.1,因此我将看到以下的子文件夹:
图片测试

你可能会问为何你须要单独安装Gradle。若是你已经安装了Android Studio你将会注意到这点。正如所知的,Android Studio内置了Gradle,不必再次安装Gradle。gradle

后面的教程中咱们将会讨论Android Studio,使用它内置的Gradle。这章和接下来的几章咱们会从咱们本身安装的Gradle开始,运行命令行,近距离得接触它,以便理解他到底作了什么。后面,当Android Studio作这些事的时候,咱们将更好的理解发生了什么。你就不会认为Android studio是在执行黑魔法。ui

如今,下载Gradle,启动它吧。插件

环境变量设置

\bin文件夹包含了gradle批处理文件(unix和windows),你将用它运行命令。命令行

作接下来几件事:
1.建立系统环境变量GRADLE_HOME将它指向Gradle安装文件夹,在个人机器上是e:\gradle-2.2.1,所以我建立了GRADLE_HOME并将它的值指定为e:\gradle-2.2.1
2.添加%GRADLE_HOME%\binPATH环境变量中。这将容许你在任何文件夹启动gradle命令。

验证是否安装成功

为了验证是否安装成功,打开终端,输入以下命令:

gradle -v

这将会显示gradle版本信息:

------------------------------------------------------------
Gradle 2.2.1
------------------------------------------------------------

Build time: 2014-11-24 09:45:35 UTC
Build number: none
Revision: 6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a

Groovy: 2.3.6
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM: 1.7.0_40 (Oracle Corporation 24.0-b56)
OS: Windows 7 6.1 amd64

若是你没看到这些信息,检查你的安装,确保设置了环境变量。

A word about Groovy

任何缺乏Groovy关于Gradle的讨论都是不完整的。Groovy是最受欢迎的运行于JVM上的语言。

Gradle有如下几个优势:
代码简洁
灵活
*使你能按你所想的配置
Groovy在其中扮演了重要的角色。不像在ant和Maven中使用的xml,Groovy是高级语言。全部高级语言有的特性,好比子句Groovy都支持。你但愿Gradle运行的build文件确实是能够运行的代码。

一个问题是‘我须要学习Groovy吗?’我认为不必,除非你不使用约定而是按你本身的方式作事情,这样你须要了解Groovy,由于这是Gradle灵活的来源。通常状况下,你只使用接下来将会看到的build.gradle模板,尽管它包含Groovy语法,但你不须要彻底明白细节。

因此,尽管不须要你很好的掌握Groovy才能理解Gradle,但它帮助你更好的了解Groovy的威力。

基本的命令

如今咱们尚未写任何源代码或gradle文件,咱们接下来会这么作。咱们尝试接下来的几个命令:

gradle -q help

这个命令打印基本的帮助信息。-q参数指定为静默模式,当有不少无效信息输出时,这颇有效。

gradle -q tasks

这条命令列出了你可使用的命令。

gradle properties

这条命令列出了许多预约义的属性。你能够修改修改这些属性在你的build文件中。

咱们不许备编译java工程,这是下一篇作的事。咱们如今理解Groovy给Gradle带来的威力。

开始以前,咱们先讲讲build.gradle文件。这是标准的build文件名。全部你但愿执行的指令都放在这里。这个系列的教程,咱们会在build.gradle文件上建立使用各类插件/任务,来帮咱们编译、构建、测试、运行java应用。

如今,咱们作如下尝试:
在一个文件夹,好比example1,建立build.gradle。
写入以下内容:

task compileTask << { 
    System.out.println "compiling..." 
}

如今在你建立该文件的目录下打开终端,输入以下命令:

gradle -q tasks

这条命令将会列出全部的你能执行的任务,你会注意到除了标准的任务,还有咱们建立的任务compileTask

Other tasks
-----------
compileTask

这引出了咱们的第一个概念咱们的gradle构建文件由一系列咱们指定的任务构成,gradle构建系统为咱们执行这些任务。目前咱们指定的任务是compileTask,如你看到的Groovy代码,咱们惟一作的是System.out.pritnln。记住Groovy是高级语言。

如今,咱们怎么运行compileTask呢?

在咱们开始前,有一点要明白,当咱们执行gradle命令时,它会在当前目录中寻找build.gradle文件。若是找到就是用它。前面的例子中,系统能够找到它,他决定了哪些任务能够被执行。

若是咱们只输入gradle不带任何参数,也不指定任何任务会发生什么。咱们试试看:

gradle

将会有以下输出:

:help
Welcome to Gradle 2.2.1.
To run a build, run gradle <task> ...
To see a list of available tasks, run gradle tasks
To see a list of command-line options, run gradle --help
BUILD SUCCESSFUL
Total time: 2.39 secs

这很清楚的告诉你你须要指定任务名。好比gradle 。咱们给出以下命令:

gradle -q compileTaks

将会有以下输出:

compiling...

咱们改进下build.gradle文件增长另外一个任务,如今看起来像这样:

task compileTask << {
 System.out.println "compiling..." 
}

task buildTask << {
 System.out.println "building..."
}

如今,若是你给出以下命令:

gradle -q tasks

你会发现这两个任务都会列在oterTasks下:

Other tasks
-----------
buildTask
compileTask

你能够运行这些任务经过gradle compileTaskgradle buildTask

若是咱们想去建立一个默认的任务,以便咱们不须要显示的指定任务名就能够执行。

为了达到这样的效果,修改build.gradle文件以下:

defaultTasks 'buildTask'

task compileTask << {
  System.out.println "compiling..." 
}

task buildTask << {
  System.out.println "building..."
}

如今咱们输入gradle -q,将会输出building...

最后一部分须要注意的是任务间的依赖。若是咱们想让buildTask依赖compileTask,以便如buildTask运行了,就行运行compileTask

修改build.gradle文件以下:

defaultTasks 'buildTask'

task compileTask << {
  System.out.println "compiling..." 
}

task buildTask (dependsOn:compileTask) << {
  System.out.println "building..."
}

如今执行gradle -q将会有以下显示:

compiling...
building...

咱们在这个章节所讲的是很是基础的Gradle知识。将build文件做为一系列待执行的任务。若是你是java开发者有构建的经历,你会注意到这样的事实:要构建任何东西,咱们须要去作以下的事:编译,构建,运行,测试,打包。这些在Gradle中都以任务存在。

咱们不须要去手工写全部的这些任务,尽管你能够这么去作,只要你愿意。使用Gradle遵循的约定和插件(plugins),咱们能够执行一系列步骤去构建咱们的工程。

现有的插件有如java plugin, WAR pluginn, AppEngine plugin, Android plugin等,这些插件给出了预约义的任务。后面的章节,咱们将会看到更多。

下一章

在下一章中,咱们将使用gradle去编译构建java工程。

相关文章
相关标签/搜索