gradle, локальный проект как зависимость / база для другого - PullRequest
2 голосов
/ 28 марта 2019

У меня есть 2 проекта, основанных на Libgdx. Я на самом деле хотел бы использовать 1 проект (BaseProject) в качестве основы для другого (MainProject), и я хотел бы удалить зависимость libgdx все вместе из MainProject, поэтому вместо;

MainProject > libgdx
BaseProject > libgdx

У меня будет

MainProject > BaseProject > libgdx

Текущее дерево файлов выглядит так:

/root
---/BaseProject
------/settings.gradle
------/build.gradle
------/base-core
---------/build.gradle
------/base-android
---------/build.gradle
---/MainProject
------/settings.gradle
------/build.gradle
------/core
---------/build.gradle
------/android
---------/build.gradle

То же самое относится к модулям (BaseProject) base-desktop, base-html, base-ios и (MainProject) desktop, html, ios.

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

Пока я пытался;

MainProject/settings.gradle

include 'base', 'core', 'desktop', 'android', 'html'
project(':base').projectDir = new File(settingsDir, '../BaseProject')


MainProject/build.gradle

apply plugin: 'java'

dependencies {
    implementation project(':base')
}

Это выдает ошибку;

ОШИБКА: проект с путем ': base-desktop' не найден в проекте ': База'

.

Я не знаю, как это настроить. В идеале я могу получить доступ к libgdx через зависимость BaseProject, и мои средства запуска приложений будут расширять мои средства запуска BaseProject, а не libgdx.

...