Scala 2.13.2 で追加された `-Wconf` で deprecated だけ fatal-warnings 対象外にする

2020/08/18   #Scala  #sbt 
このエントリーをはてなブックマークに追加

add -Wconf flag for configurable warnings, @nowarn annotation for local suppression by lrytz · Pull Request #8373 · scala/scala
この PR で、-Wconf というコンパイルオプションが追加された。

これを利用すると、「-Xfatal-warnings しつつも deprecated だけは対象外」みたいな指定が可能になったっぽいので試してみた。

scalacOptions ++= Seq(
  :
  // "-Xfatal-warnings",
  "-Wconf:cat=deprecation:ws,any:e",
)

cat=deprecation で、@deprecated を対象に、
ws で “warning summary” 出力することとし、
any:e でその他は error 扱いにする、
という指定になる。

これで実質的に「-Xfatal-warnings しつつも deprecated だけは対象外」みたいな指定が可能になる。

参考:
Fatal Warnings and Linting in Scala - Alexandru Nedelcu