任務代表建置執行的某些獨立工作單元,例如編譯類別、建立 JAR 檔、產生 Javadoc 或將封存發布到儲存庫。

gradle basic 5

您可以使用 gradle 命令或在專案目錄中調用 Gradle Wrapper(./gradlewgradlew.bat)來執行 Gradle build 任務

$ ./gradlew build

可用任務

您專案中所有可用的任務都來自 Gradle 外掛和建置腳本。

您可以透過在終端機中執行以下命令來列出專案中所有可用的任務

$ ./gradlew tasks
Application tasks
-----------------
run - Runs this project as a JVM application

Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.

...

Documentation tasks
-------------------
javadoc - Generates Javadoc API documentation for the main source code.

...

Other tasks
-----------
compileJava - Compiles main Java source.

...

執行任務

run 任務使用 ./gradlew run 執行

$ ./gradlew run

> Task :app:compileJava
> Task :app:processResources NO-SOURCE
> Task :app:classes

> Task :app:run
Hello World!

BUILD SUCCESSFUL in 904ms
2 actionable tasks: 2 executed

在這個 Java 專案範例中,run 任務的輸出是在主控台上印出的 Hello World 陳述式。

任務相依性

很多時候,一個任務需要另一個任務先執行。

例如,為了讓 Gradle 執行 build 任務,必須先編譯 Java 程式碼。因此,build 任務 *相依於* compileJava 任務。

這表示 compileJava 任務會在 build 任務 *之前* 執行

$ ./gradlew build

> Task :app:compileJava
> Task :app:processResources NO-SOURCE
> Task :app:classes
> Task :app:jar
> Task :app:startScripts
> Task :app:distTar
> Task :app:distZip
> Task :app:assemble
> Task :app:compileTestJava
> Task :app:processTestResources NO-SOURCE
> Task :app:testClasses
> Task :app:test
> Task :app:check
> Task :app:build

BUILD SUCCESSFUL in 764ms
7 actionable tasks: 7 executed

建置腳本可以選擇性地定義任務相依性。然後 Gradle 會自動決定任務執行順序。

請參閱 任務開發章節 以了解更多資訊。

下一步: 了解外掛 >>