我們可以用Gradle命令來執(zhí)行特定的任務(wù),運(yùn)行一個(gè)任務(wù)需要你知道該任務(wù)的名稱,如果Gradle能夠告訴你有哪些任務(wù)可以執(zhí)行那豈不是很棒?Gradle提供了一個(gè)輔助的任務(wù)tasks來檢查你的構(gòu)建腳本,然后顯示所有的任務(wù),包含一個(gè)描述性的消息。
$ gradle -q tasks
輸出如下:
All tasks runnable from root project
Build Setup tasks
setupBuild - Initializes a new Gradle build. [incubating]
wrapper - Generates Gradle wrapper files. [incubating]
Help tasks
----------
dependencies - Displays the dependencies of root project'grouptherapy'.
dependencyInsight - Displays the insight into a specific dependency in root
? project 'grouptherapy'.
help - Displays a help message
projects - Displays the sub-projects of root project 'grouptherapy'.
properties - Displays the properties of root project 'grouptherapy'.
tasks - Displays the tasks runnable from root project 'grouptherapy' (some of
? the displayed tasks may belong to subprojects).
Other tasks
-----------
groupTherapy
To see all tasks and more detail, run with --all.
Gradle提供任務(wù)組的概念,簡(jiǎn)而言之就是將一些任務(wù)歸為一組,你可以執(zhí)行這個(gè)組里面所有的任務(wù),沒有分組的任務(wù)在Other tasks,任務(wù)分組后面會(huì)講到。
要執(zhí)行一個(gè)任務(wù),只需要輸入gradle + 任務(wù)名,Gradle確保這個(gè)任務(wù)和它所依賴的任務(wù)都會(huì)執(zhí)行,要執(zhí)行多個(gè)任務(wù)只需要在后面添加多個(gè)任務(wù)名。
Gradle提高效率的一個(gè)辦法就是能夠在命令行輸入任務(wù)名的駝峰簡(jiǎn)寫,當(dāng)你的任務(wù)名稱非常長(zhǎng)的時(shí)候這很有用,當(dāng)時(shí)你要確保你的簡(jiǎn)寫必須是唯一確定那個(gè)任務(wù),比如下面的情況:
task groupTherapy << {
...
}
task generateTests << {
...
}
這時(shí)候你使用gradle gT的時(shí)候Gradle就會(huì)報(bào)錯(cuò),因?yàn)橛卸鄠€(gè)任務(wù)匹配到gT
$ gradle yG0 gT
FAILURE: Could not determine which tasks to execute.
* What went wrong:
Task 'gT' is ambiguous in root project 'grouptherapy'. Candidates are:
? 'generateTests', 'groupTherapy'.
* Try:
Run gradle tasks to get a list of available tasks.
BUILD FAILED
比如運(yùn)行的時(shí)候你要排除yayGradle0,你可以使用-x命令來完成
$ gradle groupTherapy -x yayGradle0
:yayGradle1
Gradle rocks
:yayGradle2
Gradle rocks
:groupTherapy
運(yùn)行的時(shí)候Gradle排除了yayGradle0任務(wù)和它依賴的任務(wù)startSession。