2013-08-06 106 views
0

我是一個大的構建系統,我有以下任務的工作取決於:任務多項目中的搖籃項目上的多個子項目搖籃插件任務

:runTests 

:moduleA:installDebug 
:moduleA:installTest 

:moduleB:installDebug 
:moduleB:installTest 

:moduleA:uninstallAll 

:moduleB:uninstallAll 

隨着工程/建築結構:

build.gradle 
settings.gradle 
    | 
    - moduleA 
     | 
     - build.gradle 
    | 
    - moduleB 
     - build.gradle 

uninstallAll和安裝任務由Gradle android插件創建。

我想:runTests是一個exec類搖籃任務取決於:moduleA:uninstallAll:moduleB:uninstallAllmoduleA:installDebugmoduleA:installTest的順序執行。

我試圖通過在頂層build.gradle文件中使用subproject閉包來創建一個runTests Exec命令,然後使用dependsOn指定應首先完成卸載和安裝任務。

但是,這種方法似乎並不奏效。或者找不到插件創建的任務(即使它們與gradlew tasks --all一起列出),或者任務運行的構建腳本完全被忽略。

什麼是創建這個鏈的依賴關係的最佳做法?

回答

4

據我所知,Android插件在遊戲中很晚才創建任務,因此您可能需要將自己的邏輯打包到gradle.projectsEvaluated { ... }