Предположим, у одного сотрудника моей компании есть проект sbt под названием commons
, который довольно универсален. Этот проект определяется традиционным способом sbt: в основной папке с определением сборки в файле project / Build.scala
.
Сейчас какой-то другой парень разрабатывает проект под названием привязка данных
, который зависит от общих ресурсов
. Мы хотим определить этот проект таким же образом с помощью project / Build.scala
.
У нас есть следующая структура каталогов:
dev/
commons/
src/
*.scala files here...
project/
Build.scala
databinding/
src/
*.scala files here...
project/
Build.scala
Как я могу указать, что привязка данных
требует, чтобы сначала были созданы общие объекты
и использовались файлы выходных классов?
Я прочитал Сборки с несколькими проектами , и для определения сборки привязки данных
] было предложено следующее:
object MyBuild extends Build {
lazy val root = Project(id = "databinding", base = file(".")) settings (
// ... omitted
) dependsOn (commons)
lazy val common = Project(id = "commons",
base = file("../commons")
)
}
За исключением того, что это не работает: sbt не любит ..
и выдает ошибку AssertionError. Очевидно, commons
должен быть папкой внутри привязки данных
. Но эти два проекта хранятся в отдельных репозиториях git, которые мы не можем вложить.
Как можно правильно указать эту зависимость?