У меня есть следующие задачи в многопроектной сборке:
task runA(type: GradleBuild) {
tasks = [
':a:x:bootRun',
':a:y:bootRun',
':c:x:bootRun'
]
}
task runB(type: GradleBuild) {
tasks = [
':b:x:bootRun',
':b:y:bootRun',
':c:x:bootRun'
]
}
Каждый :a:x
и т. Д. - это отдельный проект (build.gradle
/ build.gradle.kts
файл).Когда я вызываю gradle runA
или gradle runB
, все подзадачи выполняются параллельно, как и должно быть.
Однако, когда я запускаю gradle runA runB
, только некоторые из задач запускаются, а я хочу, чтобы все пять уникальных задач a:x a:y c:x b:x b:y
выполнялись параллельно.Я также пытался использовать dependsOn
вместо типа задачи GradleBuild
, но это приводит к тому же результату (обычно только 4 из 5 ожидаемых задач выполняются параллельно).
Обратите внимание, что задачи никогда не "завершаются", когда они запускают приложение, я более или менее злоупотребляю gradle как своего рода средством запуска.Я полагаю, что блоки gradle ожидают завершения одной из задач, но между ними нет зависимостей.
Что нужно сделать, чтобы заставить gradle одновременно выполнять все задачи одновременно?