相关模块引用

时间:2014-11-19 15:16:58

标签: scala sbt

我有多模块sbt(0.13.2)项目

foo
 - foo-api
 - foo-web
 - ...

foo,每个子目录都有build.sbt

Toplevel文件只是一个聚合器:

lazy val fooApi = Project("foo-api", file("foo-api"))
lazy val fooWeb = Project("foo-web", file("foo-web")).dependsOn(fooApi)
// ...
lazy val foo = Project("foo", file(".")).
  aggregate(fooApi, fooWeb, ...)

现在我绝对需要(不是我的选择)能够从内部 foo-web子目录中单独编译foo-web,它仍然应该依赖于foo-api

我很乐意将以下片段添加到foo-web/build.sbt

lazy val fooWeb = Project(id = "foo-web", base = file("."))
  .in(file("."))
  .dependsOn(Project("foo-api", file("../foo-api"))

哪个适用于cd $root/foo-web && play compile但现在会中断cd $root && play compile,因为相对路径是相对于执行目录的。

如何使用相对路径引用项目,无论在哪个目录中执行sbt命令?

0 个答案:

没有答案