У меня есть эти задачи в многопроектной сборке:
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 runA
все задачи не выполняются параллельно. На самом деле мне нужно сделатьgradle --parallel runA
, чтобы это сработало. - person smac89   schedule 19.12.2019