我有一个包含许多子模块的相当大的SBT项目。我的build.sbt
非常大,很难导航。是否可以将build.sbt
分成几个较小的部分,并在运行SBT作业时将它们“组装”,类似于在Maven中完成的那样?
假设,我有类似的东西:
lazy val commonSettings = Seq(...)
lazy val lib1 = project.in(file(...))...
lazy val lib2 = project.in(file(...))...
lazy val lib3 = project.in(file(...))...
lazy val lib4 = project.in(file(...))...
lazy val foo1 = project.in(file(...))...
lazy val foo2 = project.in(file(...))...
lazy val bar1 = project.in(file(...))...
lazy val bar2 = project.in(file(...))...
lazy val bar3 = project.in(file(...))...
我希望有一个公共build.sbt
来定义常见设置,并为lib
,foo
和bar
分隔文件。
这是可能的,如果是的话,怎么样?
答案 0 :(得分:0)
您可以单独处理每个项目并拥有它自己的build.sbt
。然后,您可以使用ProjectRef
引用该项目。
我在github创建了一个示例项目。
使用ProjectRef
的好处在于您可以使用url
构造来定义与其他远程项目(例如,github上的其他项目)的依赖关系。