Gradle學(xué)習(xí)筆記(一)入門

gradle的安裝可以參照gradle的官方文檔蜜笤,很簡單十嘿,安裝之前先安裝JDK8,設(shè)置好JAVA_HOME,然后設(shè)置GRADLE_HOME這兩個環(huán)境變量

  1. Gradle項目由project和task組成
  2. gradle的執(zhí)行
  3. task的編寫快捷方式
task hello << {
    println 'Hello world!'
}
  1. task里面可以編寫代碼
task upper<<{
    String name = "huyi"
    println( name.toUpperCase())
}
  1. task關(guān)聯(lián)依賴
task hello {
    doLast {
        println 'Hello world!'
    }
}
task intro(dependsOn: hello) {
    doLast {
        println "I'm Gradle"
    }
}
  1. 管理存在的task
4.times { counter ->
    task "task$counter" {
        doLast {
            println "I'm task number $counter"
        }
    }
}
task0.dependsOn task2, task3
  1. 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."
}
  1. 額外的task屬性
task hello2{
    ext{
        myProperty="addValue"
        thisVal="thisVal"
    }
}
task prn{
    println hello2.myProperty
    println hello2.thisVal
}
  1. 在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()
}
  1. 默認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é):

  1. 當(dāng)使用<<簡寫方式時炫隶,訪問task內(nèi)置屬性報錯淋叶,可能是一個bug,需要訪問屬性去掉hello的<<即可
task hello<<{
    println 'Hello world!'
    ext{
        myProperty="thisVal"
    }
}
task pr<<{
    println hello.myProperty
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末伪阶,一起剝皮案震驚了整個濱河市煞檩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌栅贴,老刑警劉巖斟湃,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異筹误,居然都是意外死亡,警方通過查閱死者的電腦和手機癣缅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門厨剪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人友存,你說我怎么就攤上這事祷膳。” “怎么了屡立?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵直晨,是天一觀的道長。 經(jīng)常有香客問我膨俐,道長勇皇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任焚刺,我火速辦了婚禮敛摘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘乳愉。我一直安慰自己兄淫,他們只是感情好屯远,可當(dāng)我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捕虽,像睡著了一般慨丐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上泄私,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天房揭,我揣著相機與錄音,去河邊找鬼挖滤。 笑死崩溪,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的斩松。 我是一名探鬼主播伶唯,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼惧盹!你這毒婦竟也來了乳幸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤钧椰,失蹤者是張志新(化名)和其女友劉穎粹断,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嫡霞,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡瓶埋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了诊沪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片养筒。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖端姚,靈堂內(nèi)的尸體忽然破棺而出晕粪,到底是詐尸還是另有隱情,我是刑警寧澤渐裸,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布巫湘,位于F島的核電站,受9級特大地震影響昏鹃,放射性物質(zhì)發(fā)生泄漏尚氛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一洞渤、第九天 我趴在偏房一處隱蔽的房頂上張望怠褐。 院中可真熱鬧,春花似錦您宪、人聲如沸奈懒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽磷杏。三九已至溜畅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間极祸,已是汗流浹背慈格。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留遥金,地道東北人浴捆。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像稿械,于是被迫代替她去往敵國和親选泻。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理美莫,服務(wù)發(fā)現(xiàn)页眯,斷路器,智...
    卡卡羅2017閱讀 134,600評論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,748評論 6 342
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,519評論 25 707
  • Gradle是一款非常優(yōu)秀的構(gòu)建系統(tǒng)工具,它的DSL基于Groovy實現(xiàn),可以讓你很方便的通過代碼控制這些DSL來...
    飛雪無情flysnow_org閱讀 3,507評論 0 35
  • 設(shè)想這樣一個場景:早上被手機鬧鐘叫醒厢呵,懶懶地看了一眼手機窝撵,睡眼朦朧之際有條新聞推送過來,是昨晚錯過的LOL比賽結(jié)果...
    Zander閱讀 531評論 0 4