Gradle是用Groovy语言编写的。
gradle命令会在当前目录下找到build.gradle文件。build.gradle文件被称为一个构建脚本,
1、创建名为build.gradle的文件
2、在build.gradle文件中加入如下内容:
定义一个名为hello的任务,入面加入一个Groovy写的动作。
task hello{
doLast{
println 'Hello world'
}
}
上面的代码还可简写成:
task hello << {
println 'Hello world!'
}
“<<”是doLast和符号。
3、在build.gradle所在目录下,执行gradle -a hello命令:
这个命令会执行当前目录下的build.gradle里的hello任务。
~/Desktop/gr$ gradle -a hello
Starting a Gradle Daemon, 2 incompatible Daemons could not be reused, use --status for details
> Task :hello
Hello world
其他例子
- 添加一个依赖项,依赖项可以不存在。
task taskX(dependsOn:'taskY'){
doLast{
println 'taskX'
}
}
task taskY{
doLast{
println 'taskY'
}
}
运行结果:
~/Desktop/gr$ gradle -a taskX
> Task :taskY
taskY
> Task :taskX
taskX
- 动态创建任务
4.times { counter ->
task "task$counter"{
doLast{
println "I'm task number $counter"
}
}
}
运行结果:
~/Desktop/gr$ gradle -q task0
I'm task number 0
~/Desktop/gr$ gradle -q task1
I'm task number 1
~/Desktop/gr$ gradle -q task2
I'm task number 2
~/Desktop/gr$ gradle -q task3
I'm task number 3
- Gradle允许你为你的构建定义一个或多个默认任务
defaultTasks 'clean','run'
task clean {
doLast{
println 'Default Cleaning!'
}
}
task run {
doLast{
println 'Default Running!'
}
}
运行结果:
~/Desktop/gr$ gradle -a
> Task :clean
Default Cleaning!
> Task :run
Default Running!
BUILD SUCCESSFUL in 0s
2 actionable tasks: 2
在一个多项目构建中,每个子项目能够有它自己指定的默认任务。如果一个子任务不指定默认任务,将会使用父项目中已定义的默认任务。
- 不同的构建结果取决于选择的构建任务
task distribution{
doLast{
println "We build the zip with version=$version"
}
}
task release(dependsOn:'distribution'){
doLast{
println 'We release now'
}
}
task debug(dependsOn:'distribution'){
doLast{
println 'Debug now '
}
}
gradle.taskGraph.whenReady{ taskGraph ->
if(taskGraph.hasTask(release)){
version = '1.0'
}else{
version = '1.0-SNAPSHOT'
}
}
运行结果:
~/Desktop/gr$ gradle -q release
We build the zip with version=1.0
We release now
~/Desktop/gr$ gradle -q debug
We build the zip with version=1.0-SNAPSHOT
Debug now
谢谢阅读