Gradle - Рекурсивные подпроекты
Предположим, я хотел использовать Gradle
с такой структурой проекта, как:
RootProject
\-- SubProjectA
\-- SubProjectAA
\-- SubProjectAB
Как я могу это достичь?
То, что я пробовал, довольно просто. Я создал все каталоги со структурой, описанной выше:
RootProject
\-- SubProjectA
\-- SubProjectAA
\-- build.gradle
\-- SubProjectAB
\-- build.gradle
\-- build.gradle
\-- settings.gradle
\-- build.gradle
\-- settings.gradle
RootProject/settings.gradle:
include "SubProjectA"
RootProject/SubProjectA/settings.gradle:
include "SubProjectAA", "SubProjectAB"
Есть две вещи, которые я пробовал. Сначала я попытался импортировать проект в Eclipse, который не обнаружил SubProjectAA
и SubProjectAB
. Ошеломленный, я побежал gradle projects
в RootProject
и получил этот вывод:
------------------------------------------------------------
Root project
------------------------------------------------------------
Root project 'RootProject'
\--- Project ':SubProjectA'
И все же, думая, что я допустил ошибку, я попробовал запустить ту же команду в SubProjectA и получил:
------------------------------------------------------------
Root project
------------------------------------------------------------
Root project 'RootProject'
\--- Project ':SubProjectAA'
\--- Project ':SubProjectAB'
Я предполагаю, что разрешающие подпроекты не идут рекурсивно. Есть ли обходной путь для этого?
Каждый пример замаскирован именами образцов, извините, если я допустил какую-либо ошибку.
Спасибо!
Ответы
Ответ 1
У вас может быть только один settings.gradle
. Как правило, он содержит что-то вроде:
include "SubProjectA:SubProjectAA"
include "SubProjectA:SubProjectAB"
Более подробную информацию можно найти в главе "Многопроектные сборки" руководства Gradle.