9

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 へのコマンド ライン引数を確認できるようにすると、両方のコマンドまたはどちらのコマンドもスイッチを通過しませんでした。スイッチしか表示されていなかったので、それは驚くべきことでした。lintcompilelint:compilecompile-P:wartremover:...lint:scalacOptions-P:wartremover:...

影響を与えずに WartRemover でコンパイルする別の sbt 構成またはタスクを作成するにはどうすればよいcompile:compileですか?

4

1 に答える 1