18

我在指向 SBT 中 Scala 源文件的自定义目录时遇到了很多麻烦。

我希望 sbt 从给定目录而不是常规src/main/scala目录编译 scala 文件。

我已经尝试定义 .sbt 和 .scala 项目文件,设置baseDirectory, scalaSource(和.scala 文件中的scalaSource s)。我还玩弄了从系统绝对路径到相对路径的所有内容,但似乎没有任何效果。它无法在指定目录下找到任何 .scala 文件。

处理此问题的正确方法是什么?

4

2 回答 2

22

在build.sbt试试这个:

scalaSource in Compile <<= (sourceDirectory in Compile)(_ / "foo")

这将为 Scala 源代码生成一个目录src/main/foo。如果要使用任意目录,请执行以下操作:

scalaSource in Compile := file("/Users/heiko/tmp")
于 2012-04-12T21:21:50.090 回答
8

更新 SBT 0.13.13 的答案 ->

sourceDirectory in Compile := (baseDirectory( _ / "foo" )).value

并为 SBT 0.13.13 添加源目录(而不仅仅是替换它)->

unmanagedSourceDirectories in Compile += (baseDirectory( _ / "foo" )).value

于 2017-03-13T13:40:58.460 回答