我知道以前曾有人问过这个问题,但所有这些问题要么被删除,要么没有令人满意的答案,所以我再问一次:
在 SBT 构建中,是否可以以分层方式安排和定义子项目?例如:
root
foo
foofoo
foobar
bar
barfoo
barbar
Run Code Online (Sandbox Code Playgroud)
其中每个项目都有自己的build.sbt设置,但从其顶级(聚合器)项目继承设置(因此foofoo并foobar从 继承设置foo并foo从 继承设置root)?
Maven 有这种可能性,但是交叉构建非常痛苦,所以我想使用 SBT。
如果可以做到的话,是如何做到的呢?
您可以通过配置root project. 在您的情况下, build.sbt看起来如下所示:
lazy val root = (project in file(".")).enablePlugins(PlayScala) //assuming its a play scala project
lazy val foo = project.in(file("<path-to-foo-project>")).dependsOn(root)
lazy val bar = project.in(file("<path-to-bar-project>")).dependsOn(root)
lazy val foofoo = project.in(file("<path-to-foofoo-project>")).dependsOn(foo)
lazy val foobar = project.in(file("<path-to-foobar-project>")).dependsOn(foo)
lazy val barfoo = project.in(file("<path-to-barfoo-project>")).dependsOn(bar)
lazy val barbar = project.in(file("<path-to-barbar-project>")).dependsOn(bar)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
703 次 |
| 最近记录: |