Gradle Projects, игровой сервер, игровой клиент и общие библиотеки между ними - PullRequest
0 голосов
/ 05 марта 2019

У меня есть два проекта:

  • Игровой сервер - будет упаковывать и запускать на облачной машине для размещения бэкэнда.
  • Игровой клиент - будет упаковывать и устанавливать на ПК каждого пользователя/Phone/Tablet.

Я хочу сохранить их в разных проектах, чтобы разработчики не начинали напрямую использовать серверные классы в клиенте или наоборот.

Должна использоваться общая функциональностьнезависимо отслеживается в третьем, четвертом или пятом проекте:

  • Компоненты - PositionComponent, IdComponent и т. д.
  • MapModel - как игровая карта представляется в виде сетки

Таким образом, и клиент, и сервер должны иметь возможность совместно использовать версионную копию компонентов и модуля MapModel.Они могут быть изменены и развернуты изолированно.

У меня проблема с Gradle.Я не уверен, как получить эту структуру, чтобы сохранить независимость 3+ проектов.Я пришел из Maven, где вы можете локально установить каждый модуль maven в свой локальный репозиторий maven, и каждый из них извлечет эту версионную копию.Немного болезненно для разработчиков, но основные модули должны часто меняться после их стабилизации.

В корне Сервера и Клиента я по сути хочу сделать это:

include 'desktop', 'core', 'networking'
includeBuild '../SomePathTo/components'
includeBuild '../SomePathTo/mapModel'

Любые предложения, если этовозможно с Gradle?Я хорошо осмотрелся, и все, кажется, применяют шаблон подпроекта, но я не думаю, что это подходит для моего изолированного развертывания и разделения задач.

Есть куча этих вопросов вокруг: Невозможно импортировать gradle-проект в другой gradle-проект

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