Gradle入门到精通(一)
java作为一门世界级主流编程语言,有一款高效易用的项目自动化构建工具是java开发者共同追求的心愿和目标。先是2000年Ant,后有2004年Maven两个工具的诞生,都在java市场上取得了巨大的成功。但是二者都有一定的不足和局限性。
2012年基于Ant和Maven产生的Gradle弥补了Ant和Maven的不足,带来了一些更高效的特点。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。面向java应用为主。当前其支持的语言有Java、Groovy、Scala、C++、Swift、JavaScript等以及Spring框架,计划未来将支持更多的语言。
1、安装
下载gradle(这里的版本为6.8.1),解压并配置GRADLE_HOME以及GRADLE_HOME\bin目录到path环境变量
下载地址(官网):https://gradle.org/
国内借助阿里云CDN快速下载Gradle 6.x zip安装包:https://www.kagura.me/dev/20200828131600.html
Gradle是一个基于JVM的富有突破性构建工具,因此必须先安装JDK,否则会出现类似一下提示:

jdk下载地址:oracle官网 或 国内下载镜像站,例如:https://repo.huaweicloud.com/java/jdk/
这里用的jdk1.8版本。
2、Hello World
在一个文件夹下面,创建一个叫做build.gradle的文件,内容如下:
task hello {
doLast {
println 'Hello Kitty!'
}
}
在命令行下执行:gradle -q hello
执行结果如下:

在默认情况下,Gradle将当前目录下的build.gradle文件作为项目的构建文件。
也可以采用闭包的方式来定义了一个叫做 hello 的任务,内容如下:
task hello {
println 'hello'
}
3、代码即脚本
Gradle 脚本采用 Groovy 书写,看一个小例子
task upper {
String str = 'aaaa'
println "Original: " + str
println "Upper case: " + str.toUpperCase()
}
运行结果如下:

4、任务依赖
定义两个任务hunter和dog,hunter依赖于dog。跟task定义的先后顺序没有关系。
task hunter(dependsOn: 'dog') {
doLast {
println '猎人'
}
}
task dog {
doLast {
println '猎狗'
}
}
执行结果如下:

注:<<在Gradle4.x中被弃用,在Gradle 5.0中被移除,详情见:Gradle 4.x官网
例:task <<{ println 'Hello world!'} 解决方法:直接去掉或使用doLast解决。
让我们来看一个最简单的Task,创建一个build.gradle文件,内容如下:
task helloWorld << {
println "Hello World!"
}
这里的“<<”表示向helloWorld中加入执行代码——其实就是groovy代码。Gradle向我们提供了一整套DSL,所以在很多时候我们写的代码似乎已经脱离了groovy,但是在底层依然是执行的groovy。比如上面的task关键字,其实就是一个groovy中的方法,而大括号之间的内容则表示传递给task()方法的一个闭包。除了“<<”之外,我们还很多种方式可以定义一个Task,我们将在本系列后续的文章中讲到。
参考:https://www.cnblogs.com/davenkin/p/gradle-learning-1.html
浙公网安备 33010602011771号