gradle的安裝可以參照gradle的官方文檔蜜笤,很簡單十嘿,安裝之前先安裝JDK8,設(shè)置好JAVA_HOME,然后設(shè)置GRADLE_HOME這兩個環(huán)境變量
- Gradle項目由project和task組成
- gradle的執(zhí)行
- task的編寫快捷方式
task hello << {
println 'Hello world!'
}
- task里面可以編寫代碼
task upper<<{
String name = "huyi"
println( name.toUpperCase())
}
- task關(guān)聯(lián)依賴
task hello {
doLast {
println 'Hello world!'
}
}
task intro(dependsOn: hello) {
doLast {
println "I'm Gradle"
}
}
- 管理存在的task
4.times { counter ->
task "task$counter" {
doLast {
println "I'm task number $counter"
}
}
}
task0.dependsOn task2, task3
- task可以作為一個腳本的屬性
task hello {
doLast {
println 'Hello world!'
}
}
hello.doLast {
println "Greetings from the $hello.name task."
}
同樣可以使用groovy的leftshift操作符
task hello {
doLast {
println 'Hello world!'
}
}
hello<< {
println "Greetings from the $hello.name task."
}
- 額外的task屬性
task hello2{
ext{
myProperty="addValue"
thisVal="thisVal"
}
}
task prn{
println hello2.myProperty
println hello2.thisVal
}
- 在build.gradle中使用方法
這個例子里面使用了groovy的閉包以及文件操作,可以查看groovy的文檔,順便說下groovy的[官方文檔](http://www.groovy-lang.org/syntax.html/)寫得很詳細
task loadfile {
doLast {
getfiles("D:/workspace/myweb").each { File file ->
//ant.loadfile(srcFile: file, property: file.name)
println "I'm fond of $file.name"
}
}
}
File[] getfiles(String dir){
file(dir).listFiles({File file-> file.isFile()} as FileFilter).sort()
}
- 默認task习霹,和ant的默認target很相似
task loadfile {
doLast {
getfiles("D:/workspace/myweb").each { File file ->
//ant.loadfile(srcFile: file, property: file.name)
println "I'm fond of $file.name"
}
}
}
File[] getfiles(String dir){
file(dir).listFiles({File file-> file.isFile()} as FileFilter).sort()
}
defaultTasks "loadfile"
執(zhí)行g(shù)radle -q即可,gradle默認會執(zhí)行l(wèi)oadfile task
問題總結(jié):
- 當(dāng)使用<<簡寫方式時炫隶,訪問task內(nèi)置屬性報錯淋叶,可能是一個bug,需要訪問屬性去掉hello的<<即可
task hello<<{
println 'Hello world!'
ext{
myProperty="thisVal"
}
}
task pr<<{
println hello.myProperty
}