ページ

2015/11/26

Gradleで表記ゆれをチェックするプラグインgradle-spelling-plugin

|

GradleからCoffeeScript、LESS、Bowerを使うプラグインgradle-web-resource-plugin
に続き、Javaプロジェクトの開発で使えるGradleプラグイン gradle-spelling-plugin を作ったので紹介。

これで何ができるかというと、ブラックリストに単語、表現を登録して、それを探していくだけ。
見つけた場合は、代わりにこれを使ってね、と警告する。
見つけた場合にビルドエラーとするかどうかは設定できる。
それだけ、ではあるのだけれど、ちょうどいいものが見つからなかったので作った。

Gradleを使い出すと、Gradleですべてチェックできるようにしたいと考えるようになる(たぶん)。
そして自動化したいと考える。
だから、grepしたりIDEで検索すればいいものだったとしても
Gradleで使える形になっていることが大事。

内容的には以前Goで作ったfintとほぼ同じ。
fintの方はLintツール的な発想で作ったが、
今回のものは似たような用語がバラバラとコメントなどに
書かれていくのを人がレビューで見つけて修正していくのを避けたかった、という点で微妙に着想・目的が違う。

組み込みは、Gradle 2.1以降なら以下をbuild.gradleに書けばOK。

plugins {
    id "com.github.ksoichiro.spelling" version "0.0.2"
}

設定は同じくbuild.gradleに

spelling {
    excludes += 'build.gradle'
    message "%1sではなく%2sにしてね"
    definition {
        rules {
            define forbidden: 'Hoge', recommended: 'Fuga'
        }
    }
}

などとする。
チェックはinspectSpellingというタスクで実行できるので、
もしcheckタスクですべてチェックさせるルールにしているのであれば

check.dependsOn 'inspectSpelling`

としておけば

$ ./gradlew check
...
:inspectSpelling
/xxx/src/main/java/com/example/A.java:4: HogeではなくFugaにしてね
:inspectSpelling FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':inspectSpelling'.
> Spelling inspection failed: 1 violations found

というふうに、正しい用語を使うことを強制できる。

0 件のコメント: