学东西第一步先感受一下
创建一个build.gradle文件,输入以下内容:
task hello {
doLast {
println 'Hello world!'
}
}
保存后用以下命令运行:
gradle -q hello
解释一下:刚才的代码是创建一个task,内容是打印"Hello World!"
然后用grade + task名执行task,-q选项是quite模式,指不输出日志信息。
以上效果有更简洁的写法:
task hello << {
println 'Hello world!'
}
project和task是gradle的基础单位
这句话没什么好解释的,把以下内容看完自然能体会到。
-------------------------语法-------------------------
添加task
task taskName << {
// 这里写任务内容,也就是groovy代码
}
依赖
task xxx(dependson yyy) << {
}
例如:
task dependonDemo1 << {
println 'dependonDemo1'
}
task dependonDemo2(dependsOn: dependonDemo1) << {
println 'dependonDemo2'
}
运行:gradle -q dependonDemo2输出:
dependonDemo1
dependonDemo2
动态创建任务
4.times { counter ->
task "task$counter" << {
println "I'm task number $counter"
}
}
执行:gradle -q task1,结果为:
I'm task number 1
依赖也可以动态创建:
task0.dependsOn task2, task3
执行:gradle -q task0,结果为:
I'm task number 2
I'm task number 3
I'm task number 0
为已经存在的任务添加行为
task hello << {
println 'Hello Earth'
}
hello.doFirst {
println 'Hello Venus'
}
hello.doLast {
println 'Hello Mars'
}
hello << {
println 'Hello Jupiter'
}
执行:gradle -q hello,结果为:
Hello Venus
Hello Earth
Hello Mars
Hello Jupiter
短标记$
task hello << {
println 'Hello world!'
}
hello.doLast {
println "Greetings from the $hello.name task."
}
执行:gradle -q hello,结果为:
Hello world!
Greetings from the hello task.
name是默认属性
自定义属性
task myTask {
ext.myProperty = "myValue"
}
task printlnTaskProperties << {
println myTask.myProperty
}
执行:gradle -q printTaskProperties,结果为:
myValue
设置默认任务
defaultTasks 'clean', 'run'
task clean << {
println 'Default Cleaning!'
}
task run << {
println 'Default Running!'
}
task other << {
println "I'm not a default task!"
}
执行:gradle -q,结果为:
Default Cleaning!
Default Running!