Как я могу поделиться определением Simple Build Tool модуль< /em> проект
между многими родительскими проектами?
и в то же время
включить определение проекта модуля в каждый файл сборки родительского проекта?
Уточнение:
У меня есть родительский проект, проект модуля Dao, проект модуля App и проект Core. Оба модульных проекта (т. е. Dao и App) зависят от (одной и той же версии) Core:
Parent project
|
|--> app
| `--> core
|
`--> dao
`--> core
Я определил App, Dao и Core в их собственных каталогах проектов (как описано здесь)
, поэтому они могут быть повторно запущены многими родительскими проектами.
Однако, когда я загружаю родительский проект, SBT выдает эту ошибку:
The same directory is used for output for multiple projects
Поэтому вместо этого я скопировал определения проекта App, Dao и Core в определение родительского проекта. То есть объявил все проекты и их зависимости в едином файле сборки родительского проекта.
Теперь все работает нормально.
Однако у меня много родительских проектов. В каждом родительском проекте используются разные версии проекта App и проекта Dao. (DAO = объект доступа к данным — например, хранилище базы данных или хранилище файлов, варьируется от проекта к проекту.)
Поэтому мне нужно будет повторить определения App и Dao в каждом родительском проекте, чтобы избежать ошибки The same directory is used for output for multiple projects
. Но результатом будет много дублированного кода сборки проекта!
Как я могу этого избежать?
У меня есть одна идея: возможно, я могу создать модуль, например. проект Dao с trait
, в котором объявляются все зависимости Dao (от сторонних библиотек). Тогда дублированного кода почти не будет, только зависимость от Dao от Core будет повторяться в каждом родительском проекте.
Что вы думаете?
Возможно, у вас есть другие идеи?