你可以通過 gradle 命令運(yùn)行一個 Gradle 構(gòu)建.
gradle 命令會在當(dāng)前目錄中查找一個叫 build.gradle 的文件. 我們稱這個 build.gradle 文件為一個構(gòu)建腳本 (build script), 但是嚴(yán)格來說它是一個構(gòu)建配置腳本 (build configuration script). 這個腳本定義了一個 project 和它的 tasks.
讓我們來先看一個例子, 創(chuàng)建一個名為build.gradle的構(gòu)建腳本.
例子 6.1 第一個構(gòu)建腳本
build.gradle
task hello {
doLast {
println 'Hello world!'
}
}
在命令行里, 進(jìn)入腳本所在的文件夾然后輸入 gradle -q hello 來執(zhí)行構(gòu)建腳本:
gradle -q hello 的輸出
gradle -q hello Hello world!
這里發(fā)生了什么? 這個構(gòu)建腳本定義了一個獨(dú)立的 task, 叫做 hello, 并且加入了一個 action. 當(dāng)你運(yùn)行 gradle hello, Gradle 執(zhí)行叫做 hello 的 task, 也就是執(zhí)行了你所提供的 action. 這個 action 是一個包含了一些 Groovy 代碼的閉包(closure 這個概念不清楚的同學(xué)好好谷歌下).
如果你認(rèn)為這些看上去和 Ant 的 targets 很相像, 好吧, 你是對的. Gradle tasks 和 Ant 的 targets 是對等的. 但是你將會會看到, Gradle tasks 更加強(qiáng)大. 我們使用一個不同于 Ant 的術(shù)語 task, 看上去比 target 更加能直白. 不幸的是這帶來了一個術(shù)語沖突, 因?yàn)?Ant 稱它的命令, 比如 javac 或者 copy, 叫 tasks. 所以當(dāng)我們談?wù)?tasks, 是指 Gradle 的 tasks. 如果我們討論 Ant 的 tasks (Ant 命令), 我們會直接稱呼 ant task.
這個指南里絕大多說的例子會在命令里加入 -q. 代表 quite 模式. 它不會生成 Gradle 的日志信息 (log messages), 所以用戶只能看到 tasks 的輸出. 它使得的輸出更加清晰. 你并不一定需要加入這個選項(xiàng). 參考第 18 章, 日志的 Gradle 影響輸出的詳細(xì)信息.