Как «перезапустить с -deprecation для деталей» в sbt? - PullRequest
165 голосов
/ 06 марта 2012

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

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

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

Ответы [ 4 ]

212 голосов
/ 06 марта 2012

оболочка sbt

Находясь в оболочке sbt (если вы не хотите менять build.sbt):

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

Из-за in ThisBuild, set применяетнастройки для всех подпроектов, а также.

Командная строка

Вы также можете запустить выше, как одну команду в командной строке.

sbt '; set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation") ; compile' 

Хитростьиспользовать ; (точки с запятой) для разделения команд и ' (отметки) для включения всех ; разделенных команд в качестве одного аргумента для sbt.

21 голосов
/ 05 июля 2016
scalacOptions := Seq("-unchecked", "-deprecation")

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

0 голосов
/ 24 июля 2018

Это работает для меня.

sbt compile -deprecation

Примечание. Кажется, что -deprecation не работает с консоли sbt.

0 голосов
/ 13 сентября 2016

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

Вам необходимо установить ensime-sbt plugin :

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

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

set scalacOptions in (Compile, EnsimeKeys.ensimeCompileOnly) += "-deprecation"
ensimeCompileOnly src/main/scala/MyFile.scala
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...