Gradle的Task(2)任務間的依賴關係
在上一篇文章中我們介紹瞭如何自定義簡單的任務。本文將通過如下四個簡單任務來說明任務之間的依賴關係。
task compile << {
println "Compiled"
}
task unitTest << {
println "Unit test"
}
task uiTest << {
println "UI test"
}
task clean << {
println "Clean"
}
- 可以使用Task的
dependsOn(Object... paths)
method來指定依賴關係。例如 ,unitTest依賴於compile。
unitTest.dependsOn compile
執行gradle unitTest -q
會輸出如下結果。
Compiled
Unit test
- Gradle中的task之間的關係可以用有向無環圖(DAG)來表示。任務之間不能互相依賴,否則Gradle會報錯。
unitTest.dependsOn compile
compile.dependsOn unitTest
執行gradle unitTest
會報錯Circular dependency
。
- 沒有依賴關係的任務之間可以通過
mustRunAfter()
、finalizedBy()
等method來指定任務的執行順序。舉例如下:uiTest和unitTest都依賴於compile,那麼如何保證uiTest總是在unitTest之後執行呢?答案就是使用mustRunAfter()
。
uiTest.mustRunAfter unitTest
執行gradle uiTest unitTest -q
會輸出如下結果,說明unitTest是在uiTest之前執行的。
Compiled
Unit test
UI test
相關文章
- build task依賴關係UI
- 什麼是專案管理中的任務依賴關係專案管理
- 使用Gradle檢視Android專案中庫的依賴關係GradleAndroid
- 【譯】Android Gradle 外掛 4.0.0 中 Feature-on-Feature 的依賴關係AndroidGradle
- Maven 依賴關係Maven
- 關於 Gradle 依賴庫的幾個東西Gradle
- 【譯】Gradle 的依賴關係處理不當,可能導致你編譯異常Gradle編譯
- 【物件導向依賴關係概念總結】物件導向程式設計的五種依賴關係物件程式設計
- 微服務下 Spring Boot Maven 工程依賴關係管理微服務Spring BootMaven
- Spring框架模組依賴關係Spring框架
- 【python】【安裝包依賴關係】Python
- Struts2所有依賴關係(struts-2.5.14.1)
- idea gradle 專案依賴IdeaGradle
- Android -Gradle依賴匯入及相關知識AndroidGradle
- Elasticsearch依賴與Spring對應關係ElasticsearchSpring
- Gradle根據引數配置不同的依賴Gradle
- Gradle排除依賴模組的某個類Gradle
- SpringBoot中的slf4j日誌依賴關係Spring Boot
- 如何管理前端專案中的複雜依賴關係前端
- 如何在 SAP BTP 上建立 Module 之間具有依賴關係的 SAP MTA 應用
- Android Gradle 依賴配置:implementation & apiAndroidGradleAPI
- spring cloud alibaba 元件版本關係 以及 畢業版本依賴關係SpringCloud元件
- 將你的Gradle依賴轉換為函式Gradle函式
- Maven中如何管理多模組專案的依賴關係Maven
- 深圳scala-meetup-20180902(2)- Future vs Task and ReaderMonad依賴注入依賴注入
- gcc 標頭檔案依賴關係 分析工具GC
- ASP.NET Core基礎知識(三)【依賴關係注入(服務)】ASP.NET
- 物件導向程式設計程式碼詳解(依賴關係,關聯關係,組合關係)物件程式設計
- 多值依賴的有關概念
- 一文徹底搞清 Gradle 依賴Gradle
- Android開發中Gradle外掛,Gradle版本與JDK版本之間的對應關係 AndroidAndroidGradleJDK
- nuget使用經驗:複雜依賴關係下的包版本問題
- 90%的人都不知道的Node.js 依賴關係管理(上)Node.js
- 90%的人都不知道的Node.js 依賴關係管理(下)Node.js
- Gradle系列之認識Gradle任務Gradle
- .NET 4.0 任務(Task)
- 關於Gradle編譯時下載依賴失敗解決方法Gradle編譯
- 如何解決微服務之間的資料依賴問題?微服務
- SpringBoot2.x的依賴管理Spring Boot