如何组织包含大量子模块的SBT?
我有一个相当大的SBT项目,有许多子模块。我的如何组织包含大量子模块的SBT?,sbt,Sbt,我有一个相当大的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
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
创建单独的文件
这是可能的吗?如果是,如何实现?您可以单独处理每个项目,并拥有自己的
build.sbt
。然后可以使用ProjectRef
引用项目
我已经在上创建了一个示例项目
使用
ProjectRef
的好处在于,您可以使用url
构造来定义对其他远程项目(例如github上的其他项目)的依赖关系 您可以单独处理每个项目,并拥有自己的build.sbt
。然后可以使用ProjectRef
引用项目
我已经在上创建了一个示例项目
使用
ProjectRef
的好处在于,您可以使用url
构造来定义对其他远程项目(例如github上的其他项目)的依赖关系 一种方法是让所有项目都具有自己的build.sbt
配置,然后从根项目中引用它们。我必须出去一个小时左右,但我回来后会补充一个适当的答案。一种方法是让所有项目都有自己的build.sbt
配置,然后从根项目中引用它们。我必须出去一个小时左右,但我回来后会补充一个适当的答案。看起来很有希望。我如何处理所有项目共享的公共设置?这是一个好问题。我会用这个更新我的答案,但我想先让你同意这个想法。拥有公共设置的一种方法是将它们作为插件添加,然后在所有项目中包含相同的插件。这听起来太复杂了吗?在这期间,我会想点别的……看起来很有希望。我如何处理所有项目共享的公共设置?这是一个好问题。我会用这个更新我的答案,但我想先让你同意这个想法。拥有公共设置的一种方法是将它们作为插件添加,然后在所有项目中包含相同的插件。这听起来太复杂了吗?我会在这段时间里想点别的。。。