Можно ли запустить две независимые задачи Gradle из одного подпроекта параллельно? - PullRequest
0 голосов
/ 29 октября 2018

В проекте, над которым я работаю (на основе gradle), есть один очень большой модуль (подпроект gradle). Во время сборки на CI две задачи из этого подпроекта выполняются последовательно, что приводит к значительному времени выполнения.

В проекте используется org.gradle.parallel=true, но когда я создал простой проект для проверки того, как независимые задачи из того же подпроекта выполняются с этим свойством, я обнаружил, что задачи выполняются последовательно.

Мой вопрос:

Возможно ли параллельно выполнить две независимые задачи из одного подпроекта gradle, чтобы сократить время их выполнения? (Предполагая, что они не производят вывод в одном и том же месте и не используют общее состояние)

1 Ответ

0 голосов
/ 29 октября 2018

Из документации (см. Параллельное выполнение ):

Большинство сборок состоит из более чем одного проекта, и некоторые из этих проектов обычно независимы друг от друга. Тем не менее, Gradle будет выполнять только одну задачу за раз по умолчанию, независимо от структуры проекта (это будет улучшено в ближайшее время). Используя ключ --parallel, вы можете заставить Gradle выполнять задачи параллельно , если эти задачи находятся в разных проектах .

Я думаю, что наиболее важной частью здесь является «пока эти задачи находятся в разных проектах»: если ваши две долгосрочные задачи принадлежат одному подпроекту, вы не сможете выполнить их параллельно (не в текущая версия Gradle)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...