在我的Build.scala中,我有:
override def rootProject = Some(frontendProject)
我正在尝试转换为较新的build.sbt格式,但不知道该行的等效内容。在使用build.sbt时,如何设置sbt的项目默认加载?
答案 0 :(得分:3)
我仍然不确定我是否理解你,但你说过多项目构建,所以我假设你想要定义一个聚合子项目的根项目。以下是您可以执行此操作的方法(在您的根目录build.sbt
中):
lazy val root = project.in( file(".") ).aggregate(subProject1, subProject2)
lazy val subProject1 = project in file("subProject1")
lazy val subProject2 = project in file("subProject2")
有关多项目的信息,请参阅sbt documentation。
然后,如果你想将sbt启动时加载的默认项目设置为子项目,除了你对这个SO question的回答之外,我可以建议
sbt "project XXX" shell
命令运行sbt 或将此行添加到build.sbt
:
onLoad in Global := { Command.process("project XXX", _: State) } compose (onLoad in Global).value
在这两种情况下,sbt首先加载根项目,然后加载子项目。
答案 1 :(得分:0)
我发现以下脚本有用:
#!/usr/bin/env bash
exec "sbt" "project mysubproject" "shell"
exit $?