1.task
1.新建文本build.gradle
2.cd到build.gradle的根目錄?
第一個(gè)構(gòu)建腳本
task hello {
????doLast {
????????println ‘Hello world!’
????}
}
在命令行里, 進(jìn)入腳本所在的文件夾然后輸入?gradle -q hello?來(lái)執(zhí)行構(gòu)建腳本
第二個(gè)構(gòu)建腳本撼玄,快捷閉包任務(wù)
task hello << {
????println ‘Hello world!’
}
執(zhí)行效果跟第一個(gè)一致。
構(gòu)建腳本代碼
task hello<<{
?????String str ="shuzhan"
? ? String tar = str +" is a good gug".toUpperCase();
????println tar
}
2.task dependsOn
?第一個(gè)依賴腳本
task hello<<{
println"hello !!"
}
task world(dependsOn:hello)<<{
println"world !!"
}
第二個(gè)依賴腳本
task taskX(dependsOn:"taskY") << {
println"taskX"
}
task taskY << {
println"taskY"
}
taskX 到 taskY 的依賴在 taskY 被定義之前就已經(jīng)聲明了.?
說(shuō)明依賴不需要在被調(diào)用者前面聲明,另外要注意“taskY”要加上雙引號(hào).
3.動(dòng)態(tài) task
4.times { counter ->
task"task$counter" << {
println"I'm task number $counter"
? ? }
}
gradle -q task1?命令的輸出
為動(dòng)態(tài)任務(wù)添加依賴
4.times { counter ->
task"task$counter" << {
println"I'm task number $counter"
? ? }
}
task0.dependsOn task1熊经,task2
gradle -q task0?命令的輸出
task加入行為
task hello << {
println ‘Hello Earth’
}
hello.doFirst {
println ‘Hello Venus’
}
hello.doLast {
println ‘Hello Mars’
}
hello << {
println ‘Hello Jupiter’
}
doFirst 和 doLast 可以被執(zhí)行許多次. 他們分別可以在任務(wù)動(dòng)作列表的開(kāi)始和結(jié)束加入動(dòng)作. 第四個(gè)操作符<<是doLast的別稱
gradle -q hello?命令的輸出
段標(biāo)記法
$ 可以訪問(wèn)一個(gè)存在的任務(wù)
task hello << {
println ‘Hello world!’
}
hello.doLast {
println “Greetings from the $hello.name task." }
自定義屬性
task myTask {
ext.s ="myValue"
}
task printTask<< {
println myTask.s
}
默認(rèn)任務(wù)
defaultTasks ‘clean’, ‘run’
task clean << {
println ‘Default Cleaning!’
}
task run << {
println ‘Default Running!’
}
task other << {
println “I’m not a default task!”
}
gradle -q?命令的輸出
動(dòng)態(tài)配置
task distribution << {
println “We build the zip with version=$version" }
task release(dependsOn: ‘distribution’) << {
println ‘We release now’
}
gradle.taskGraph.whenReady {taskGraph ->
if (taskGraph.hasTask(release)) {
version = ‘1.0’
} else {
version = ‘1.0-SNAPSHOT’
}
}