2016-10-27 3 views
1

Во-первых, я полный ноб с обоими Грейдлом и Гроуви. :-)Как создать несколько файловых систем в единой градации?

Я пытаюсь перенести существующий проект из сборки на основе ant на использование Gradle. Проблема, с которой я сталкиваюсь, заключается в том, что мой исходный код хранится в двух разных файловых системах (оба git-repos). Мне удалось получить конфигурацию подпроекта Gradle, работающую для модулей, находящихся в одной и той же файловой системе, но я не могу связать подпроекты между двумя разными файловыми системами. Мне нужно, чтобы проекты в файловой системе «A» (мое приложение-репо) зависели от проектов в файловой системе «B» (моя библиотека-репо).

Есть ли способ получить Gradle для обработки зависимостей между границами файловой системы?

Любая помощь будет принята с благодарностью ...

ответ

1

Когда вы говорите, файловая система, я предполагаю, вы имеете в виду, они находятся в двух разных папках раз проверили.

Там в 2 способа добиться того, что вы хотите:

Один заключается в создании проекта B и опубликовать Баночки в «хранилище», что проект А имеет доступ. Достичь этого путем копирования банки из projectB/сборки/LIBS а/Lib папки Projecta и добавив, что Лив папку в качестве хранилища в файле сборки Проект А как так:

repositories { 
    flatDir { 
     dirs 'lib' 
    } 
} 

Это немного руководства, но это делает Хитрость.

Другой способ - использовать функцию Composite Build Gradle. Он позволяет настроить проект A на включение проекта B. Это позволяет избежать ручного копирования банок. Я не использовал этот подход сам, потому что он очень новый, поэтому я не могу ручаться за то, насколько хорошо он работает.

+0

Я попытался использовать материал Composite Build, но он работает только для подпроектов, которые внедрены в общий каталог. В моем случае у меня есть два разных корня каталогов (один для моего приложения и один для моего кода библиотеки). Почему я не понимаю, почему это различие? Почему я не могу сказать Gradle, что у меня есть проект в моей библиотечной репо, от которой зависит моя репо? – Steve

+0

Привет, Стив. Я уверен, что вы можете включить сборку из любой директории. Вы уверены, что не получаете путаницы между композитной сборкой и многопроектной сборкой? Не могли бы вы вставить содержимое ваших файлов сборки или аргументы командной строки, которые вы используете? –

+0

Я думаю, вы правы, что я смешиваю две разные схемы. Я постараюсь глубже изучить материал Composite Build и посмотреть, что произойдет. Одна вещь, которую я заметил, которая может заставить меня не работать для меня, заключается в том, что документы указывают, что поддержка IntelliJ IDEA не поддерживается для составной сборки, и это IDE, которую мы используем для выполнения нашей работы. – Steve

Смежные вопросы