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
- 什麼是專案管理中的任務依賴關係專案管理
- Oracle 查詢鎖之間的依賴關係Oracle
- .NET Core新增專案之間的依賴關係
- 關聯關係與依賴關係的區別
- Maven 依賴關係Maven
- 使用Gradle檢視Android專案中庫的依賴關係GradleAndroid
- OSGI中的service依賴關係管理
- Android專案的依賴關係解析Android
- 分析資料庫的依賴關係(轉)資料庫
- 關於 Gradle 依賴庫的幾個東西Gradle
- 【譯】Android Gradle 外掛 4.0.0 中 Feature-on-Feature 的依賴關係AndroidGradle
- 【物件導向依賴關係概念總結】物件導向程式設計的五種依賴關係物件程式設計
- java的類之間的關係:泛化、依賴、關聯、實現、聚合、組合Java
- Oracle 查詢鎖之間依賴關係的最源頭SIDOracle
- 【譯】Gradle 的依賴關係處理不當,可能導致你編譯異常Gradle編譯
- Spring框架模組依賴關係Spring框架
- mysql主外來鍵依賴關係MySql
- depmod解決模組依賴關係
- 微服務下 Spring Boot Maven 工程依賴關係管理微服務Spring BootMaven
- 清除gradle依賴jarGradleJAR
- 透過shell分析表依賴的層級關係
- maven中scope依賴範圍與classpath的關係Maven
- 通過shell分析表依賴的層級關係
- 使用yum 安裝依賴關係較多的包
- 【python】【安裝包依賴關係】Python
- 解決rpm包依賴關係
- Struts2所有依賴關係(struts-2.5.14.1)
- MySQL 查詢鎖之間依賴關係的資訊和最源頭鎖的thread_id號及關係MySqlthread
- MySQL查詢鎖之間依賴關係的資訊和最源頭鎖的thread_id號及關係MySqlthread
- Gradle排除依賴模組的某個類Gradle
- Maven中如何管理多模組專案的依賴關係Maven
- 如何管理前端專案中的複雜依賴關係前端
- Makefile 自動生成標頭檔案的依賴關係
- 查詢依賴關係的objects 是否有被DDL過Object
- CentOS 6.4安裝Oracle 10g2 rac 包的依賴關係備記CentOSOracle 10g
- Elasticsearch依賴與Spring對應關係ElasticsearchSpring
- 使用 .NET Core 實現依賴關係注入