WartRemoverは scalac プラグインです。通常はsbt plugin経由で設定されます。
の通常の実行に影響を与えることなく、別の構成またはタスクとして sbt プロジェクトで WartRemover を実行できるようにしたいと考えていますcompile
。
私に Wartremover を追加した後、plugins.sbt
私は次のいくつかのバリエーションを試しました。
lazy val Lint = config("lint").extend(Compile)
project("foo").
configs(Lint)
settings(inConfig(Lint)(Defaults.compileSettings): _*).
settings(inConfig(Linting)(wartremover.wartremoverSettings):_*).
settings(inConfig(Linting)(wartremover.wartremoverErrors := wartremover.Warts.all))
その後、新しい構成内と構成scalacOptions
内に、私が期待していたものが大まかに含まれていました。しかし、デバッグ モードで sbt を実行して scalac へのコマンド ライン引数を確認できるようにすると、両方のコマンドまたはどちらのコマンドもスイッチを通過しませんでした。スイッチしか表示されていなかったので、それは驚くべきことでした。lint
compile
lint:compile
compile
-P:wartremover:...
lint:scalacOptions
-P:wartremover:...
影響を与えずに WartRemover でコンパイルする別の sbt 構成またはタスクを作成するにはどうすればよいcompile:compile
ですか?