Gradle入门

Gradle入门

1、Gradle特点及优势

Gradle并不是建议于构建标准之上的一系列选项,而是使用丰富的具有描述性的语言进行开发和扩展这些标准的工具。

Gradle的构建文件时Groovy而不是XML,原因是对于复杂的XML文件来说只适合机器去阅读而不适合人去阅读,还有XML只适合表示嵌套结构而不适用描述程序流。

Groovy是基于JVM的的动态语言,有很多方面类似于Java。每一个Gradle的构建文件实质上就是一个Groovy脚本。作为一个Gradle的初学者,你没有必要知道你在写Groovy代码,当你需要Gradle的高级功能时,深入了解Groovy显得更为重要。不同于Ant和Maven的构建文件,Gradle基于Groovy的构建文件允许你在配置文件中执行类似于编程任务的目的。这将缓解在Ant和Maven中缺乏控制流的问题。

面向领域的构建语言

每一个维护者复杂构建任务的开发者,在某种程度上想在构建文件中书写一块代码。有时候你需要一个迭代器,有时候你需要一个复杂的条件,但同时你又不想对整个文件作出大的改动。但是,给你无限的能力来更改复杂的构建是一件好的事情吗?它有可能给出很大的灵活性,但同时也给维护带来灾难。Gradle的构建文件时Groovy脚本,Gradle使得将选项分解为脚本成为可能,但是这样并不鼓励这么做。

实质上,Gradle并不是想主要通过Groovy而是想通过DSL来构建任务。Gradle用户可以学习这个语言,并不需要知道Groovy,就可以高效的使用Gradle。通过很习惯的DSL就可以构建软件,通常不需要针对性的编程。Gradle推荐用户使用DSL,其次是编程。

当DSL不能解决构建问题的时候,你可以通过插件的方式来扩展DSL。如果你来自Maven,那么Maven插件和Gradle插件有很大的出入。Maven插件通常通过严格的方式扩展工具在一个或多个特定的周期中的行为。在Gradle中,是通过引进一个或者多个任务,来增加构建行为的可配置性,实质上扩展DSL的一种方式:通过插件包含特定的领域。扩展Gradle DSL比在构建文件中书写代码更被推荐。

2、安装

下载zip压缩包,解压缩,将文件夹中的bin目录配置到环境变量中。

3、Hello World构建文件

创建文本文件build.gradle,内容为

task helloworld <<{
println 'hello,world'
}

执行

gradle -q helloWorld

输出结果

'hello,world'

以上这个构建文件没有请求任何事情,也没有任何外部的依赖。他没有做任何的事情除了输出一段消息。在构建java代码之前,再举一个例子。我们将使用两个任务和一个依赖。

task hello <<{
println 'hello'
}
task world(dependsOn:hello) <<{
println 'world'
}

再次执行

gradle -q world

输出结果

hello, world

4、构建Java程序

前面的Hello World程序没有说服力。下面我们看看用它来构建Java代码是多么的容易。为了简单起见,我们将使用一个简单的Java程序,展现一下:只要你遵从它的约定使用Gradle构建Java程序很简单。

HelloWorld.java

位于\src\main\java\org\gradle\example\simple目录下

内容为:

package org.gradle.example.simple;
public class HelloWorld {
  public static void main(String args[]) {
    System.out.println("hello, world");
  }
}

build.gradle内容为

apply plugin:'java'

运行gradle build可生成build文件夹

在\build\classes\main\org\gradle\example\simple文件夹中存在

HelloWorld.class

执行java -cp build/classes/main/ org.gradle.example.simple.HelloWorld可得到

hello, world

5、Gradle命令行

在先前的例子中大多数都从命令行运行,这里面简要介绍Gradle的命令行参数:

-h

帮助

-Dproperty=value

从命令行传递参数

-i -d

设置日志级别

-m

评估构建文件,但不执行任何任务

-q

压制大多数输出,仅显示错误信息

--gui

启动Gradle GUI

-s

释放栈跟踪

6、参考书籍及样例

书籍Building.and.Testing.with.Gradle

Gradle构建简单Java程序




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值