Подтвердить что ты не робот

Изменение макета проекта в SBT 0.10.x

Я чувствую себя идиотом, но я не могу изменить свой макет проекта с помощью SBT 0.10.x. В моем проекте sbt 0.7.x я добавил строки:

override def mainScalaSourcePath = "src" / "scala"
override def testScalaSourcePath = "test" / "scala"
override def mainResourcesPath = "resources"

override def mainJavaSourcePath = "src" / "java"
override def testJavaSourcePath = "test" / "java"
override def testResourcesPath = "test" / "resources"

Каким будет эквивалент в 0.10.x?

4b9b3361

Ответ 1

Минимально вы можете настроить базовый исходный каталог в областях Test и Compile, а затем настроить каталог ресурсов в области Compile. Этот параметр будет правильным в области Test, поскольку по умолчанию он относится к sourceDirectory. Аналогично, настройки scala-source и java-source будут правильными.

sourceDirectory in Compile <<= baseDirectory(_ / "src")

sourceDirectory in Test <<= baseDirectory(_ / "test")

resourceDirectory in Compile <<= baseDirectory(_ / "resources")

Чтобы увидеть это в действии:

> set sourceDirectory in Compile <<= baseDirectory(_ / "src")
[info] Reapplying settings...
[info] Set current project to default-fcf187 (in build file:/C:/temp/)

> set sourceDirectory in Test <<= baseDirectory(_ / "test")
[info] Reapplying settings...
[info] Set current project to default-fcf187 (in build file:/C:/temp/)

> set resourceDirectory in Compile <<= baseDirectory(_ / "resources")
[info] Reapplying settings...
[info] Set current project to default-fcf187 (in build file:/C:/temp/)

> show test:resource-directory
[info] C:\temp\test\resources
> show compile:resource-directory
[info] C:\temp\resources
> show test:scala-source
[info] C:\temp\test\scala
> show test:java-source
[info] C:\temp\test\java
> show compile:java-source
[info] C:\temp\src\java
> show test:java-source
[info] C:\temp\test\java

Вы можете проверить отношения между настройками в оболочке с помощью inspect; или просмотрев источник SBT