Можно ли использовать мульти-проекты из GIT в качестве зависимостей SBT?
Я хотел бы использовать banana-rdf в своем проекте, в идеале, определив его как зависимость в build.scala
с помощью dependsOn
:
lazy val root = Project("root", file(".")) dependsOn RootProject(uri("git://github.com/w3c/banana-rdf"))
Тем не менее, banana-rdf - это мультипроект, поэтому его нужно составлять по-другому. Из того, что я вижу, эти определения мультипроектов позволяют только указывать местоположения проекта в качестве путей к файлам, и не позволяют URI.
Вопрос: Прав ли я, говоря, что мне нужно клонировать эти мультипроектные зависимости GIT в мой проект и ссылаться на них как на папки?
Мне скорее нравится идея оставить все клонирование GIT до SBT, и клонировать их в какую-нибудь папку tmp SBT, а не загромождать мой проект...
1 ответ
Я все время полагаюсь на подпроекты Banana RDF с ProjectRef
, как это:
lazy val core: Project = Project(
...
).dependsOn(
ProjectRef(uri("git://github.com/w3c/banana-rdf.git"), "banana-jena")
)
Особенно приятно то, что вы можете просто прикрепить имя коммита или ветки в качестве идентификатора фрагмента к URI, и все работает точно так, как вы ожидаете.