Изменение каталога источников Scala в SBT

У меня довольно много проблем, указывающих на пользовательский каталог для Scala исходных файлов в SBT.

Я хотел бы, чтобы sbt скомпилировал scala файлы из заданного каталога вместо обычного src/main/scala.

Я попытался определить файлы проекта .sbt и .scala, установив baseDirectory, scalaSourcescalaSource s в файл .scala). Я также играл со всем, от системного абсолютного до относительного пути, но ничего не работает. Он не может найти какой-либо файл .scala в указанном каталоге.

Каковы правильные способы справиться с этим?

Ответ 1

Попробуйте это в файле build.sbt:

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

Это приведет к каталогу src/main/foo для Scala источников. Если вы хотите использовать какой-либо произвольный каталог, перейдите к следующему:

scalaSource in Compile := file("/Users/heiko/tmp")

Ответ 2

Обновить ответ для SBT 0.13.13 →

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

И добавить исходный каталог (вместо его замены) также для SBT 0.13.13 →

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