我们可以在 SBT 项目中定义嵌套项目吗?

Can we define nested projects in a SBT project?

我们可以在一个SBT项目中定义多个项目,如:

lazy val core = project in file("core")
lazy val web = project in file("web")
lazy val shared = project in file("shared")

但是可以在子项目中定义嵌套项目吗?喜欢:

lazy val nested = project in file("nested")
lazy val nested1 = project in file("nested/nested1")
lazy val nested2 = project in file("nested/nested2")

当我运行 projects时,它将在平面列表中显示所有定义的项目:

> projects
[info] In file:/Users/twer/workspace/sbt-dependency-export-plugin-test/
[info]     core
[info]     nested
[info]     nested1
[info]     nested2
[info]   * root
[info]     shared
[info]     web

这不是我想要的,实际上,我希望它是一棵树,例如:

core
nested
   \-- nested1
   \-- nested2
root
shared
web

我希望 nested1nested2 成为 nested 的子项目,而不是整个项目。

可能吗?

projects 将始终只在列表中显示项目 ID。

但是,我认为,要做你想做的事,你只需要这样做:

lazy val nested = project in file("nested") aggregate (nested1, nested2)