gradle入门教程

来源:互联网 发布:python 在线教程 编辑:程序博客网 时间:2024/06/06 06:44

1  gradle简介

通俗地讲,gradle是管理项目的自动化框架,类比于Ant和Maven,易于上手且功能强大。

正式地讲,根据gradle官网的介绍,gradle首先是一个构建自动化框架,并且是已有框架的升级版。gradle能够自动构建、测试、发布和部署多种软件包和各种工程,包括着常见的静态网站,常见文档甚至是任何东西。

gradle最为强大的地方在于,它有着Ant的强大和灵活,同时又有着Maven的独立性和便利性。gradle是基于Groovy DSL(一种领域专用语言)的,并且包含了很多创新元素。其中一点是,gradle提供了一种显示声明的管理各种工程的方法。也正是由于其功能强大又具有创新性,很多开源项目已经用gradle作为架构基础。

2 gradle特性

2.1  gradle的创新之处

作为一个企业级构建框架,目前gradle 2.0版本已经包括了如下创新点:

1)配置多任务

2)具有连续性的构建配置

3)变量自动化感知及独立化管理

4)任务的并行处理

5)针对守护进程的监控模式

6)全局缓存

2.2  基于Groovy的原因

如果利用一个基于XML的动态DSL语言,那么工作将有一打益处可列,同时已经有一些动态语言可以备选。那么为什么是Groovy?仔细考虑一下Gradle的应用场景,Gradle是为了解决所有通用的构建问题而出现的,并且主要基于Java。这里一个显然的前提是开发团队是懂Java的,所以Gradle希望是针对开发者透明的框架。

或许用Java是另外一种方式,并且这种方法的学习曲线将非常贴近x轴。但是Java比不上Python、Groovy和Ruby,实现不了强大的功能。

3  安装Gradle

3.1  准备安装

Gradle需要有JDK或者JRE,Java版本需要6以上,Gradle项目内包含了Groovy库,本地已经安装的Groovy库会被Gradle忽略。

Gradle会直接使用PATH环境变量定义的JDK,如有需要请自行改变JAVA_HOME。

3.2  下载

http://www.gradle.org/downloads

3.3  解压

下载的Gradle压缩包包括以下内容:

1)Gradle二进制文件

2)用户手册,包括HTML和PDF版本

3)DSL参考指南

4)API文档,包括Javadoc和Groovydoc

5)实例,包括2)中用户手册介绍到的实例,也包括较复杂工程

6)二进制源文件,仅供参考

3.4  环境变量

Gradle的环境变量加入PATH环境变量之后,可以直接命令行运行Gradle,方法:将GRADLE_HOME/bin加入PATH。

3.5  JVM选项

设置GRADLE-OPTS可以改变JVM选项。也可以在Gradle和Gradlew脚本中修改该变量。

4  基础入门

4.1  工程和任务

工程和任务是Gradle管理的基础组成。通常情况下,可以利用Gradle进行构建项目结构,设置可以构建多个项目,但是很多时候逻辑是相反的,实际项目的结构很可能是基于某个开源框架,在此之上引入Gradle就好。 默认的,Project的名字是当前build.gradle所在目录的名字。

Gradle的核心是build.gradle,gradle框架会根据这个脚本做出不同的行为。最基本的,通过在Gradle目录搜索jar包的名字,并在build文件加入:'*.jar',Gradle的刷新功能就能在本地缺少jar时自动下载并引入。

另外一个常见的使用就是利用'plugin:war' 类似命令,run as gradle之后就能够在工程的lib文件下找到打包好的war文件,并直接发布。

任务则指的是在build文件里可以设置task,例如 task a<<{print $name},其中name会显示成为a。

以上就是gradle的两个核心:工程和任务。

4.2  管理多项目

多项目构建本身是利用task实现的,由于task是局部的,可以实现与多项目全局变量的隔离,因而实现了不同项目的不同设置。

一直在思考的一点就是:Gradle最大的亮点就在于用DSL,一种非常简单直观的语言,实现了曾经XML文件实现的功能。


暂时写出简单版本,后续遇到再来填充内容。

0 0
原创粉丝点击