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 和 install 任务由 Gradle android 插件创建。

我想:runTests成为一个 Exec 类型的 Gradle 任务,它依赖于:moduleA:uninstallAll, :moduleB:uninstallAll, moduleA:installDebug, 并按moduleA:installTest该顺序执行。

我试图通过使用subproject顶级 build.gradle 文件中的闭包来创建一个 runTests Exec 命令,然后使用dependsOn 指定应首先完成卸载和安装任务来配置它。

但是,这种方法似乎不起作用。要么找不到插件创建的任务(即使它们用 列出gradlew tasks --all),要么完全忽略任务运行的构建脚本。

创建这个依赖链的最佳实践是什么?

4

1 回答 1

4

据我所知,Android 插件在游戏后期创建任务,因此您可能必须将逻辑包装在gradle.projectsEvaluated { ... }.

于 2013-08-06T21:00:21.287 回答