Можно ли использовать мультипроекты из 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, и все работает точно так, как вы ожидали.