wartremover

wartremoverのsbt pluginにTASTy inspector経由で実行する機能入れた

散々tweetしているし、少し前にblogに書きましたが、 xuwei-k.hatenablog.com それを正式に本体に入れてリリースしました。という話 github.com

WartRemoverをScala 3のTASTy inspector経由で動かす

1週間前のScalaMatsuriで発表 し、色々と話をしたわけですが、それから数日経ってScala 3対応版のwartremoverリリースして、さらに色々と試行錯誤していたら、以下のようなことに気が付き、 あっ、よく考えたら、Scala 3のlibrary側のQuotes使ったwartremove…

Scalaのcompiler pluginをCrossVersion.fullにするかCrossVersion.binaryにするか

昨日のwartremoverのやつの続き、というか、Scalaのcompiler pluginに関する別の話。 いきなり雑に説明に入りますが

wartremover-contribをどうやって依存させるかという問題

以前こういうのを書きましたが xuwei-k.hatenablog.com

wartremoverを使ってscalapbのapplyのデフォルト引数を禁止する

というのを作りました。 scalapbというのは、scala向けのprotocol buffersやgRPCのためのライブラリですが、protobufのmessageに対応するcase classのコンパニオンオブジェクトのapplyには、すべて(protobuf上のデフォルト値と同様の)デフォルト引数が設定さ…

wartremoverの管理者権限とpublish権限もらった

wartremoverとは、一言でいうとScala向けのlinterです。 主な特徴としては、 コンパイラプラグインとしてもマクロとしても使えて、独自のルールをある程度簡単に追加できたり、アノテーションつけて一部のみを警告抑制できたり、警告にするかエラーにするか…