Scala 2.13 プロジェクトで scala.reflect.Manifest / scala.reflect.ClassManifest の使用を scalafix カスタム Semantic Rule で検知する検証用リポジトリです。
- カスタムルール:
rules/src/main/scala/fix/NoManifestRule.scala - 適用対象サンプル:
example/src/main/scala/Json4sExample.scala(json4s を利用し、あえてManifestを含めています)
SemanticDB 生成のために先にコンパイルし、その後 scalafix を --check で実行します。
sbt example/compile
sbt "example/scalafix --check"Json4sExample に Manifest が含まれているため、2 つ目のコマンドは NoManifest の Diagnostic が出て失敗することが期待されます。
(example/scalafix 実行時にルール jar を自動でビルドし、scalafix の classpath に載せています。事前の jar 配置は不要です)
ルール指定はルートの .scalafix.conf で行っています:
rules = [
NoManifestRule
]