工作代表組建執行的某項獨立工作單元,例如編譯類別、建立 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.

...

執行工作

使用 ./gradlew run 執行 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 必須先編譯 Java 程式碼才能執行 build 工作。因此,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 會自動判斷任務執行順序。

請參閱 任務開發章節 以進一步了解。

下一步: 瞭解外掛 >>