我們可以用Gradle命令來執(zhí)行特定的任務,運行一個任務需要你知道該任務的名稱,如果Gradle能夠告訴你有哪些任務可以執(zhí)行那豈不是很棒?Gradle提供了一個輔助的任務tasks來檢查你的構建腳本,然后顯示所有的任務,包含一個描述性的消息。
$ 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提供任務組的概念,簡而言之就是將一些任務歸為一組,你可以執(zhí)行這個組里面所有的任務,沒有分組的任務在Other tasks,任務分組后面會講到。
要執(zhí)行一個任務,只需要輸入gradle + 任務名,Gradle確保這個任務和它所依賴的任務都會執(zhí)行,要執(zhí)行多個任務只需要在后面添加多個任務名。
Gradle提高效率的一個辦法就是能夠在命令行輸入任務名的駝峰簡寫,當你的任務名稱非常長的時候這很有用,當時你要確保你的簡寫必須是唯一確定那個任務,比如下面的情況:
task groupTherapy << {
...
}
task generateTests << {
...
}
這時候你使用gradle gT的時候Gradle就會報錯,因為有多個任務匹配到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
比如運行的時候你要排除yayGradle0,你可以使用-x命令來完成
$ gradle groupTherapy -x yayGradle0
:yayGradle1
Gradle rocks
:yayGradle2
Gradle rocks
:groupTherapy
運行的時候Gradle排除了yayGradle0任務和它依賴的任務startSession。