アドベントカレンダー空いてたのと、以前tweetしたけど便利な割にあまり知られてない気がするので、blogにも書いておきます。
sbt豆知識ですが、警告を毎回表示するためのsbt pluginがあるんですがhttps://t.co/1m1xov5jCw
— Kenji Yoshida (@xuwei_k) September 20, 2025
実はsbt標準でprintWarningsというtaskがあるため、外部のsbt plugin使わなくてもこれ呼べばよいです
sbtのshellでprintWarningsとするだけです。sbtは以前出した警告も全部内部で保持しているので、cleanして再度compileなどしなくても、これで全部の警告が表示されます。
よほど凝ったことしたい場合でない限り、標準のこれで十分なので、このためだけに外部のsbt plugin使う必要はないはずです。
(自作の「警告diff表示plugin」は、これでは不十分なので独自に頑張ってますが https://github.com/xuwei-k/sbt-warning-diff )
全部といっても、あくまでデフォルトは Compile に紐づいたものなので、 src/main/scala の方しか出ません。
test側も出したいなら Test/printWarnings も実行してください。
必要に応じて、main側とtest側の両方を一気に実行して表示する printWarningsAll 的な独自taskかaliasを作っておいてもいいかもしれません。