我正在开发一个大型构建系统,我有以下任务:
: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
),要么完全忽略任务运行的构建脚本。
创建这个依赖链的最佳实践是什么?