1. 下载安装gradle 2.1
    1. 安装先决条件:gradle安装需要1.6或者更高版本的jdk(jre)(可以使用java –version 验证),gradle自带groove lib库,所以不必安装groove,任何已安装groove都将被忽略。Gradle使用path路径下的jdk,当然,你也可以设置JAVA_HOME指向你的jdk安装路径。
    2. Gradle发行版是一个zip压缩文件,完整的发行版包括:
      1. 二进制文件
      2. 用户指南(html和pdf)
      3. Dsl参考指南
      4. API文档(Javadoc和Groovydoc)。
      5. 大量示例,包括用户指南中引用的例子,一些完善的和更复杂的构建,你可以用来搭建自己的构建。
    3. 创建新的环境变量GRADLE_HOME,值为gradle的安装目录,另需
      把/bin添加到path变量中。
    4. 你可以运行gradle –v来验证安装,输出显示gradle版本和本地环境变量配置(groove版本,jvm版本等等)。
    5. 你可以通过设置jvm环境变量来运行gradle。当然,你也可以使用GRADLE_OPTS 或 JAVA_OPTS ,或两者兼而有之。JAVA_OPTS环境变量按照惯例是许多java应用程序共享的。一个典型用例是设置HTTP代理JAVA_OPTS和GRADLE_OPTS内存选项。这些变量也可以设置gradle和gradlew脚本的开始选项。

    注:这些不能用来设置命令行jvm选项。

  2. 构建脚本基础
    1. Gradle中的一切都简历在2个基础之上:项目projects和任务task

      每个gradle构建都由一个或多个项目组成。一个项目代表什么取决于你通过gradle怎么做。例如:一个项目可能代表一个jar lib库或者一个web应用程序;它也可能代表一个从其他项目jars提取出的zip分布;一个项目并一定代表一个构建;它可能代表一件事情要做;比如,部署你的应用程序到工作台或者生产环境中;如果这看起来有点模糊,不要担心,Gradle build-by-convention支持为一个项目添加更具体的定义。

      每个项目都有一个或多个tasks任务组成。一个任务代表一个一些构建工作的原子块。这可能是编译一些类,创建一个JAR,生成javadoc, 或发布存档到仓库。

      现在,我们将看看定义一些简单的任务在一个构建一个项目。 后面的章节将看 处理多个项目和更多关于工作项目和任务。

    2. Hello World

      使用gradle命令运行gradle构建。这个命令会在当前目录查找build.gradle文件,我们通常把这个文件叫做构建脚本。虽然严格来说它是一个构建配置脚本,正如我们稍后所看到的那样,这个脚本定义一个项目及其文档。

      让我们来尝试创建一个构建脚本:build.gradle

      在一个命令行shell,移动到build.gradle所在目录并执行构建脚本:gradle -q hello

      一个构建脚本的执行:

      有一个速记方法来定义一个任务,例如上面的hello,这个速记方法看起来更简洁:

      上面定义一个名叫 hello的任务闭包执行脚本。我们将在整个用户指南中使用这种任务定义风格。

      Gradle构建脚本给了你groovy的全部威力。作为开胃菜,先看看这个:

      或者

      如下

      如你所想,你可以声明依赖于其他任务的任务

      插入:命令行创建文件 echo.>build.gradle

      问题:怎么在命令行输出中文

      添加一个依赖项,这个依赖不是必须存在的(不是必须定义在依赖前*)

      任务taskx对tasky的依赖声明在tasky的定义之前,这对多项目构建非常重要。任务依赖关系在15.4添加任务依赖项中会有更详细的探讨。

      注意:你不能使用快捷键符号指向未定义的任务。

      Groovy不但能定义一个任务做什么,例如,它还能动态创建任务。

      一旦任务创建,他们就可以通过api进行访问。例如,用这个特性你可以在运行时为一个任务动态的添加依赖关系。Ant并不支持这一点。

      或者,你也可以添加行为到现有任务中

      注:task任务名不区分大小写(执行的时候)。

      DoLast和doFirst可以多次被调用执行,他们在任务动作列表的开始或结束添加一个动作,他们在动作action列表中顺序执行。<<操作符是doLast的一个别名。

      正如你所注意的,在例子中有一个很方便的符号来访问已存在的任务。每一个任务都可以看作是构建脚本的一个属性。

      这使代码非常有可读性,特别是使用插件提供的任务时,比如compile编译任务。

      你可以添加自己的属性到一个任务。例如:添加一个属性名myProperty,集ext.myProperty的默认值,完成后,这个属性就可以像预定义任务一样读取和设置值。

      注:这里的ext应是gradle自带的,去掉后找不到指定属性。

      额外的属性并不局限于任务,你可以阅读更多关于他们的部分:13.4.2"额外属性" 。

      Ant任务是gradle的一等公民。它依靠groovy对ant任务提供优秀的jicheng 。通过gradle使用比原本的build.xml更强大和方便。从下面的例子中,你可以学习到如何执行ant任务和访问ant属性。

      注:没做过ant,略过

      你可以对ant构建脚本做更多的操作,  使用Ant从Gradle

      稍后,你将看到,这些方法可以共享过项目中子项目的构建。如果你的构建逻辑非常复杂,gradle为你提供其他很方便的方式来组织他。 Chapter 17, Using Ant from Gradle

    Gradle允许定义一个或多个默认的构建任务。

    

这相当于运行clean,run。在多项目中构建的每一个子项目都可以有特定的默认任务,如果一个子项目没有指定默认任务,则使用父项目的默认任务(如果存在的话)。

配置DAG

我们将在56章建立生命周期中详细描述,它有配置阶段和执行阶段。配置阶段后,gradle应该知道所有被执行的任务。Gradle提供一个钩子使用这些信息。一个用例将检查要发布的任务在执行任务中间。基于此,你可以给变量赋予不同的值。

在下面的例子中,执行分配和发布任务的结果变量是不同的值。

重要的是,whenReady影响任务的发布在发布任务命令执行前。这些工作使得发布任务不是首要任务(任务传递给gradle命令)。

在这一章,我们只是先看一下任务,这并不是对任务介绍的结束,如果你想进入更多的细节,第15章, 更多的任务 。

Gradle用户指南的更多相关文章

  1. Gradle用户指南(章9:Groovy快速入门)

    Gradle用户指南(章9:Groovy快速入门) 你可以使用groovy插件来构建groovy项目.这个插件继承了java插件的功能,且扩展了groovy编译.你的项目可以包含groovy代码.ja ...

  2. 《gradle 用户指南中文版》目录

    gradle 用户指南 版权所有©2007-2017 Hans Dockter,Adam Murdoch只要您不对这些副本收取任何费用,并且进一步规定,每个副本都包含本版权声明,无论是以印刷版还是电子 ...

  3. Gradle用户指南(1)-Gradle安装

    前置条件 Gradle 需要 Java JDK 或者 JRE,版本是 6 及以上.Gradle 将会装载自己的 Groovy 库,因此,Groovy 不需要被安装.任何存在的 Groovy 安装都会被 ...

  4. 《gradle 用户指南中文版》 第一部分、关于Gradle

    第一部分.关于Gradle 目录1.介绍1.1 关于本用户指南2.概述2.1 特性2.2 为什么选择Groovy? 上一页  |  目录  |  下一页

  5. 《gradle 用户指南中文版》 第1章、简介

    第1章.简介 目录 1.1 关于本用户指南 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具. 这里我们将介绍Gradle,我们认为gradle让java项 ...

  6. Gradle用户指南(3)-构建Java项目

    1.构建基本的Java项目 为了使用 Java 插件,添加下面代码到构建文件: build.gradle apply plugin: 'java' 这个就是 定义一个 Java 项目的全部.它会将 J ...

  7. Gradle用户指南(2)-基本命令

    1.定义任务 使用task 关键字来定义gradle 任务 例:创建一个 build.gradle 命名的文件: build.gradle task hello { doLast { println ...

  8. Gradle用户指南(章8:依赖关系管理基础)

    章8:依赖关系管理基础 本章将介绍一些gradle依赖关系管理的基础 什么是依赖关系管理? 简略的说,依赖管理是由两部分组成的.首先,gradle需要知道你要构建或者运行的项目,以便找到它们.我们将这 ...

  9. 《gradle 用户指南中文版》第3章 安装 gradle

    macOS 下安装 gradle,只要可以安装sdk的系统,使用sdk来安装,那么安装方式基本是一样的. Gradle在所有主要操作系统上运行,只需要安装Java JDK或JRE版本7或更高版本.要检 ...

随机推荐

  1. android 反编译 逆向工具整理

    需要准备的道具需要哪些软件会在后面逆向过程中详细介绍,这里先大致罗列一下 android一台root并安装了xposed框架的手机(主要是为了脱壳) 类似[海马玩]这种模拟器 android-kill ...

  2. 2015年8月TIOBE编程语言排行榜

    名副其实的月经贴.

  3. 解密 Uber 数据团队的基础数据架构优化之路

    如果你用过Uber,你一定会注意到它的操作是如此的简单.你一键叫车,随后车就来找你了,最后自动完成支付,整个过程行云流水.但是,在这简单的流程背后其实是用Hadoop和Spark这样复杂的基础大数据架 ...

  4. html元素背景样式大小调整

    定义元素背景设置 background-size属性cover自适应填充背景,background-size: 100% 100%; background-size: 左右比例  上下比例: 再介绍几 ...

  5. Linux系统默认服务建议开启关闭说明列表

    服务名称 功能简介 建议 acpid 电源管理接口.如果是笔记本用户建议开启,可以监听内核层的相关电源事件. 开启 anacron 系统的定时任务程序.cron的一个子系统,如果定时任务错过了执行时间 ...

  6. 数据库随机取n条记录

    SQL Server SELECT TOP N  *  FROM  表名  ORDER BY  NEWID() My SQL  SELECT  *  FROM  表名 ORDER BY RAND() ...

  7. SpringMVC参数类型转化错误调试方法

  8. ThreadPoolExecutor使用介绍

    private static ExecutorService exec = new ThreadPoolExecutor(8, 8, 0L,TimeUnit.MILLISECONDS, new Lin ...

  9. SOA_Oracle SOA Suite and BPM Suite 11g官方虚拟机安装指南(案例)

    参考:Oracle官方 - http://www.oracle.com/technetwork/middleware/soasuite/learnmore/vmsoa-172279.html?ssSo ...

  10. BEvent_客制化Event Agent通道(案例)(待整理)

    2014-09-09 Created By BaoXinjian