有的时候,感觉技术真是一年一个样,之前呢ant式微,被maven取代,而现在呢,maven慢慢式微,又渐渐要被gradle取代,不说多了我们现在就来讲一讲gradle吧。
第一步——安装:
①安装所需:JDK1.8以上
②去官网“https://gradle.org/”下载gradle包,解压后设置环境变量。
Mac或linux的话:添加命令到初始化脚本~./profile中,命令假设gradle被安装在/opt/gradle目录下。export GRADLE_HOME=/opt/gradle;export PATH=$PATH:$GRADLE_HOME/bin。
Windows的话:添加gradl文件夹下的bin目录到环境变量中即可。
③在终端或cmd中执行语句:gradle -v , 确认gradle安装成功。
第二步——hello world
①创建一个名为“build.gradle"的文件,并写上如图代码:
task helloWorld {
doLast{
print 'hello World!'
}
}
②运行代码:gradle -q helloWorld,这里的helloWorld即对应上面定义的task,参数-q是为了告诉gradle只输出该task相关的信息。运行后我们会发现窗口输出了”hello World!"。
第三步——小试牛刀
我们写下如下代码:
task startSession {
chant()
} def chant(){
ant.echo(message: 'Repeat after me...')
} 3.times{
task "yayGradle$it" {
println 'Gradle rocks'
}
} yayGradle0.dependsOn startSession
yayGradle2.dependsOn yayGradle1, yayGradle0
task groupTherapy(dependsOn: yayGradle2)
//gradle test
①我们会发现多了关键词dependsOn,它意指依赖,gradle会确保被依赖的task总会在定义该依赖的task之前执行。
②关于chant()函数里的ant.echo()函数,这是关于gradle和ant的集成,我们后续再讲,这里只是做简单的打印处理。
③这里的3.times{}讲的是关于动态任务的定义,我们也后续再讲。
我们运行代码:gradle groupTherapy,输出如图
第四步——使用命令行
①列出所有task:gradle -q tasks --all
②执行多个任务:gradle -q task1 task2 ......
③任务缩写执行:要执行task testTest的话,可以输入指令gradle -q tT, 但需要以防缩写的task名重复。
④其他重要命令行选项,如-h ——指打印帮助信息;-b——指定特定名字的构建脚本;--offline——指构建声明的依赖必须在离线仓库中存在。
⑤若想使gradle重复运行构建,可以了解gradle守护进程方面的内容,参数是--daemon。