Sbt Multi-Module - 在另一个项目中使用某个项目作为模块

时间:2014-07-30 11:42:04

标签: scala sbt git-submodules

我有一个sbt项目,commonLib可以作为一个独立的项目构建。我现在要做的是将这个项目作为其他项目的git-submodule并将其添加为附加模块。生成的布局应如下所示:

+ project
+ src
+ commonLib
+---- project
+---- src

如何正确添加此类sbt项目作为根项目的模块?这甚至可能吗?将所有模块放在一个存储库中对我来说不是一个选项,因为这个commonLib也被其他项目使用,我们希望尽可能顺利地协作开发这个模块。

P.S。在commonLib中的每次提交中使用存储库都不是一个好的解决方案,我们不能坚持至少像公共库的版本,因为开发非常活跃。

1 个答案:

答案 0 :(得分:2)

感谢来自 lpiepiora 的文档链接,我最终在我的Build.scala for root项目中这样做了:

lazy val commonLib = ProjectRef(file("commonLib"), "commonLib")
lazy val root = Project("myProject", file(".")).dependsOn(commonLib)

,其中commonLib是commonLib sbt项目的Build.scala中提到的项目名称。

如果您只需要使用独立sbt项目的子目录的根项目,只需使用RootProject而不是ProjectRef。