Устаревание и предупреждения о функциях для файлов определений проекта SBT
При получении определения проекта SBT я получаю предупреждения об устаревших функциях (например, файлы внутри project
каталог). Версия SBT - 0.13.0.
Я не получаю больше информации об этом, установив scalacOptions := Seq("-feature", "-deprecation")
кажется, это работает только для исходных файлов проекта, а не для файлов определений проекта.
Кто-нибудь знает, как я могу установить устаревание и предупреждение для компилятора, когда он компилирует определение проекта?
[info] Loading project definition from /home/xxx/website/project
[warn] there were 2 deprecation warning(s); re-run with -deprecation for details
[warn] there were 4 feature warning(s); re-run with -feature for details
[warn] two warnings found
1 ответ
Создайте project/build.sbt
файл определения проекта со следующим содержанием:
scalacOptions := Seq("-feature", "-deprecation")
С любого *.sbt
файл под project
принадлежит мета (сборке) проекта, он устанавливает компилятор Scala для конфигурации сборки, а не среду для проекта под сборкой.
Он был протестирован с примером мультипроекта SBT:
[info] Compiling 1 Scala source to /Users/jacek/sandbox/so/multi-0.13.1/project/target/scala-2.10/sbt-0.13/classes...
[warn] /Users/jacek/sandbox/so/multi-0.13.1/project/Build.scala:4: method error in object Predef is deprecated: Use `sys.error(message)` instead
[warn] lazy val e = error("Launcher did not provide the Ivy home directory.")
[warn] ^
[warn] one warning found
... когда он скомпилировал следующее project/Build.scala
:
import sbt._
object Build extends Build {
lazy val e = error("Launcher did not provide the Ivy home directory.")
}