iT邦幫忙

2021 iThome 鐵人賽

DAY 20
0

Gradle 的其中一個強大特點,就是它了解任務間的相依性,可以在核心建立出圖或樹。這對於開發者來說非常棒,因為我們只需要將關注點專注在我們的主要任務上,相依的其他任務都會由 Gradle 幫我們自動執行。

任務及任務相依

一個 Gradle 任務就是在 Build 裡面需要被完成的單元,幾個比較常見的例子像是:

  • compileJava 任務可以編譯程式碼
  • jar 任務可以建立 jar 檔案
  • build 任務可以建置整個專案

Gradle task graph

任務圖是由 Gradle 構建中任務之間的所有依賴關係形成的結構。繼續我們在應用了 java 插件的項目中構建任務的範例,其任務圖如下所示。

您在這裡看到的是構成構建任務的所有不同任務。虛線表示任務之間的依賴關係。所以看上面的部分,build 依賴於 assemble,它依賴於 jar,它依賴於類,它依賴於 compileJava 和 processResources。

理解任務圖結構的好處是:

  • 你可以在其中運行任何你想要的任務:如果你只需要創建一個 jar 文件,就不需要運行 build 來運行測試。這可以節省您的時間,因為運行較少的任務通常會更快。
  • 它可以幫助調試與任務相關的問題:如果你有一個複雜的任務圖,也許有你自己的自定義任務,那麼理解任務圖是解決“為什麼 myAwesomeTask 沒有運行?”等問題的關鍵。

參考資料


上一篇
第十九天:初探 Gradle Plugins
下一篇
第二十一天:Gradle Kotlin DSL
系列文
Gradle 通靈術24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言