GIT的多项目可以用作SBT依赖吗?

时间:2013-11-19 22:35:40

标签: scala sbt banana-rdf

我想在我的项目中使用banana-rdf,理想情况是使用build.scala将其定义为dependsOn中的依赖项:

lazy val root = Project("root", file(".")) dependsOn RootProject(uri("git://github.com/w3c/banana-rdf"))

然而,banana-rdf是multi-project so needs to be composed differently。从我所看到的,这些多项目定义只允许您将项目位置指定为文件路径,并且不允许URI。

问题:我是否正确地说我必须将这些多项目GIT依赖项克隆到我的项目中并将它们作为文件夹引用?

我更喜欢将所有GIT克隆留给SBT的想法,并将这些克隆到某个tmp SBT文件夹而不是混乱我的项目...

1 个答案:

答案 0 :(得分:21)

我一直依赖Banana RDF子项目ProjectRef,如下所示:

lazy val core: Project = Project(
  ...
).dependsOn(
  ProjectRef(uri("git://github.com/w3c/banana-rdf.git"), "banana-jena")
)

一个特别好的部分是,您可以将提交或分支名称作为URI上的片段标识符进行处理,并且一切都与您期望的完全一致。