Scala SBT: как "перезапустить с помощью -deprecation"

Когда я компилирую Scala код, запустив sbt compile, SBT говорит:

$ sbt compile
...
[warn] there were 5 deprecation warnings; re-run with -deprecation for details
...

Как мне это сделать? (Изнутри SBT?)

Ответ 1

Если вы не хотите изменять свой build.sbt:

$ sbt
> set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation")
> compile
> exit

Изменить: добавлены "-unchecked" и in ThisBuild для комментариев.

Ответ 2

scalacOptions := Seq("-unchecked", "-deprecation")

Добавьте этот параметр в файл build.sbt, и если у вас есть проект с несколькими модулями, добавьте его в каждый проект.

Ответ 3

С течением времени появляются новые решения. Итак, теперь вы можете повторно запустить компилятор scala, не выпуская полную перестройку проекта.

Вам нужно установить плагин ensime-sbt:

addSbtPlugin("org.ensime" % "sbt-ensime" % "1.0.0")

После этого вы можете использовать задачу ensimeCompileOnly для компиляции одиночного файла. SBT позволяет настроить конфигурацию каждой задачи, поэтому вы можете изменить только для этих задач:

set scalacOptions in (Compile, EnsimeKeys.ensimeCompileOnly) += "-deprecation"
ensimeCompileOnly src/main/scala/MyFile.scala