Gradle вложенная конфигурация проекта - PullRequest
0 голосов
/ 18 сентября 2018

Я немного запутался в настройке сценария сборки для вложенного проекта

Я написал простое тестовое репо здесь https://github.com/814k31/TestGradle

По сути, я пишу оболочку для модуля и мне нужно, чтобы эта оболочка была включена в более крупный проект, однако у меня возникают проблемы с импортом модуля в оболочку, когда он используется в более крупном проекте

Цепочка зависимостей

app imports OneDeep OneDeep imports TwoDeep

Структура каталогов:

app oneDeep twoDeep build.gradle build.gradle build.gradle settings.gradle

В ветке master в тестовом репо написано, как я должен ожидать, что она будет работать

Есть также еще одна ветка, в которой я настроил параметры.

Любые предложения о том, как заставить oneDeep (оболочку) импортировать twoDeep (модуль)?

Заранее спасибо.

1 Ответ

0 голосов
/ 18 сентября 2018

Вы не описываете ошибку, которую получаете, но если мы выполним ваш пример из главной ветки в вашем репо, мы получим следующую ошибку:

> Project with path ':twoDeep' could not be found in project ':oneDeep'.

Эта проблема возникает из-за того, как вы ссылаетесь на проект'twoDeep' из проекта 'oneDeep' скрипт:

dependencies {
    compile project(':twoDeep')  // <== this won't work: there is no project with absolute path ":twoDeep"

    // compile project('twoDeep')         //  <== use relative path to reference sub-project 'twoDeep' from project 'oneDeep'
    // compile project(':oneDeep:twoDeep') // <=  using absolute path will work as well
   }

Таким образом, вы должны либо использовать относительный путь (=> 'twoDeep'), либо абсолютный путь (=> ': oneDeep: twoDeep') при обращении к подпроекту 'twoDeep 'из проекта' oneDeep '.

Из Документация по DSL проекта :

Проект проекта (путь строки): поиск проекта по пути.Если путь относительный, он интерпретируется относительно этого проекта.

См. Также Пути к проектам и задачам (но там неясно указано, каков ожидаемый синтаксис для "относительного""дорожки"

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