Gradle教程

Gradle教程

Gradle是一種構(gòu)建工具娇未,它拋棄了基于XML的構(gòu)建腳本休里,取而代之的是采用一種基于Groovy的內(nèi)部領(lǐng)域特定語言

Gradle安裝

  1. 安裝JDK
    gradle基于Groovy語言開發(fā),在安裝包中集成了Groovy庫
  2. 下載
  3. 安裝
    對源文件進(jìn)行解壓,將其添加到環(huán)境變量中
  • GRADLE_HOME "安裝路徑"
  • PATH 增加"%GRADLE_HOME%\bin"
  1. 驗證
    執(zhí)行g(shù)radle -v即可

Gradle配置

可以通過配置文件對Gradle構(gòu)建進(jìn)行配置

  • Gradle構(gòu)建腳本(build.gradle)
    指定了一個項目和它的任務(wù)
  • Gradle屬性文件(gradle.properties)
    用來配置構(gòu)建屬性
  • Gradle設(shè)置文件(gradle.settings)
    對于只有一個項目的構(gòu)建而言是可選的鸳慈,如果我們的構(gòu)建中包含多于一個項目攘滩,那么它就是必須的,因為它描述了哪一個項目參與構(gòu)建窟她。每一個多項目的構(gòu)建都必須在項目結(jié)構(gòu)的根目錄中加入一個設(shè)置文件

Gradle構(gòu)建基礎(chǔ)

Gradle由兩個基本概念:ProjectTask

  • Project
    構(gòu)建產(chǎn)物(比如Jar包)或?qū)嵤┊a(chǎn)物(將應(yīng)用程序部署到生產(chǎn)環(huán)境)陈症,Project由一些組件組成,如一個Project可以代表一個JAR庫或者一個WEB應(yīng)用程序震糖,也可能包含其他項目生成的JAR包
  • Task
    不可分的最小工作單元录肯,執(zhí)行構(gòu)建工作(比如編譯項目或執(zhí)行測試),Task可以是編譯一些Java類吊说,或者創(chuàng)建一個JAR包论咏,或者是生成JavaDoc,或者是發(fā)布文檔到倉庫颁井,Task作為原子工作存在

每個gradle build由一到多個Project組成
每個Project由一到多個Task組成

腳本基礎(chǔ)

可以通過 gradle 命令運行一個 Gradle 構(gòu)建
gradle 命令會在當(dāng)前目錄中查找一個叫 build.gradle 的文件. 我們稱這個 build.gradle 文件為一個構(gòu)建腳本 (build script), 但是嚴(yán)格來說它是一個構(gòu)建配置腳本 (build configuration script). 這個腳本定義了一個 project 和它的 tasks

  • 腳本1
    新建文件 build.gradle
task hello  {
    doLast {
        println 'Hello World!'
    }
}

在命令行下執(zhí)行 gradle -q hello

腳本定義了一個名為hello的任務(wù)潘靖,運行g(shù)radle hello時,執(zhí)行hello蚤蔓,并依次執(zhí)行任務(wù)中定義的動作卦溢。

其簡潔的定義為:

task hello << {
    println 'Hello World!'
}
  • 腳本2
task upper << {
    String someString = 'MyName'
    println "Original: " + someString
    println "Upper case: " + someString.toUpperCase()
}

執(zhí)行gradle -q upper,顯示

Original: MyName
Upper case: MYNAME

  • 腳本3
task count << {
    4.times {
        print "$it "
    }
}

顯示

0 1 2 3

  • 腳本4
task hello << {
    println 'Hello World!'
}
task intro(dependsOn: hello) << {
    println "I'm Gradle"
}

顯示

Hello World!
I'm Gradle

  • 腳本5
4.times { counter ->
    task "task$counter" << {
        println "I'm task number $counter"
    }
}

執(zhí)行gradle -q task2秀又,顯示

I'm task number 2

Java構(gòu)建


參考資料
Gradle User Guide中文版

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末单寂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子吐辙,更是在濱河造成了極大的恐慌宣决,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昏苏,死亡現(xiàn)場離奇詭異尊沸,居然都是意外死亡威沫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門洼专,熙熙樓的掌柜王于貴愁眉苦臉地迎上來棒掠,“玉大人,你說我怎么就攤上這事屁商⊙毯埽” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵蜡镶,是天一觀的道長雾袱。 經(jīng)常有香客問我,道長官还,這世上最難降的妖魔是什么芹橡? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮望伦,結(jié)果婚禮上林说,老公的妹妹穿的比我還像新娘。我一直安慰自己屡谐,他們只是感情好述么,可當(dāng)我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著愕掏,像睡著了一般度秘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饵撑,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天剑梳,我揣著相機(jī)與錄音,去河邊找鬼滑潘。 笑死垢乙,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的语卤。 我是一名探鬼主播追逮,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼粹舵!你這毒婦竟也來了钮孵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤眼滤,失蹤者是張志新(化名)和其女友劉穎巴席,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诅需,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡漾唉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年荧库,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赵刑。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡分衫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出料睛,到底是詐尸還是另有隱情丐箩,我是刑警寧澤摇邦,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布恤煞,位于F島的核電站,受9級特大地震影響施籍,放射性物質(zhì)發(fā)生泄漏居扒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一丑慎、第九天 我趴在偏房一處隱蔽的房頂上張望喜喂。 院中可真熱鬧,春花似錦竿裂、人聲如沸玉吁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽进副。三九已至,卻和暖如春悔常,著一層夾襖步出監(jiān)牢的瞬間影斑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工机打, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留矫户,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓残邀,卻偏偏與公主長得像皆辽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子芥挣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,834評論 2 345

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理驱闷,服務(wù)發(fā)現(xiàn),斷路器九秀,智...
    卡卡羅2017閱讀 134,600評論 18 139
  • Gradle:Project,Tasks and Plugins 讓我們回憶上一節(jié)遗嗽,在此基礎(chǔ)上增加點東西。 總的來...
    gatsby_dhn閱讀 2,385評論 0 1
  • 參考資料:http://gold.xitu.io/post/580c85768ac247005b5472f9htt...
    zhaoyubetter閱讀 10,979評論 0 6
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,748評論 6 342
  • 01 我和室友各提著半個西瓜鼓蜒,穿過悶熱的空氣痹换,爬上五樓回到宿舍征字。打開空調(diào)和風(fēng)扇,才感覺自己復(fù)活了娇豫。什么也不去想匙姜,我...
    江葆和閱讀 422評論 0 1