Spring Boot 2.2.x の Web アプリを 2.3.x へバージョンアップする ( その5 )( Checkstyle を 8.28 → 8.35 へバージョンアップする )
概要
記事一覧はこちらです。
Spring Boot 2.2.x の Web アプリを 2.3.x へバージョンアップする ( その4 )( Release Notes を見て必要な箇所を変更する ) の続きです。
- 今回の手順で確認できるのは以下の内容です。
- Checkstyle を 8.28 → 8.35 へバージョンアップします。
- 最新版の google_checks.xml の内容も反映します。
参照したサイト・書籍
checkstyle / checkstyle
https://github.com/checkstyle/checkstylecheckstyle/checkstyle - checkstyle/src/main/resources/google_checks.xml
https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
目次
- build.gradle を変更する
- IntelliJ IDEA の CheckStyle-IDEA Plugin が使用する Checkstyle のバージョンを 8.34 に変更する
- 最新版の google_checks.xml から設定をコピーする
手順
build.gradle を変更する
checkstyle { configFile = file("${rootProject.projectDir}/config/checkstyle/google_checks.xml") toolVersion = "8.35" sourceSets = [project.sourceSets.main] }
toolVersion = "8.28"
→toolVersion = "8.35"
に変更します。
Gradle Tool Window の左上にある「Refresh all Gradle projects」ボタンをクリックして更新した後、clean タスク実行 → Rebuild Project 実行 → build タスクを実行すると BUILD SUCCESSFUL が表示されました。
IntelliJ IDEA の CheckStyle-IDEA Plugin が使用する Checkstyle のバージョンを 8.34 に変更する
CheckStyle-IDEA Plugin に指定できるバージョンが 8.34 までだったので 8.34 を指定します。
最新版の google_checks.xml から設定をコピーする
最新版の google_checks.xml から差分を反映します。。。が、2020/08/12 時点の google_checks.xml の差分を反映したところ checkstyleMain タスクでいくつかエラーが出て削除することがありました。
今回反映した内容を箇条書きで記述しておきます。
<module name="RightCurly">
の<property name="tokens">
の value に ENUM_DEF, INTERFACE_DEF を追加しました。<module name="SuppressionXpathSingleFilter">...</module>
を追加しました。<module name="WhitespaceAfter">...</module>
を追加しました。<module name="AbbreviationAsWordInName">
の<property name="tokens">
の value に PATTERN_VARIABLE_DEF を追加しました。<module name="NoWhitespaceBefore">
の<property name="tokens">
の value から ELLIPSIS を削除し LABELED_STAT を追加しました。
以下の変更は checkstyleMain タスク実行時にエラーが出たので削除しました。Java 14 の機能向けの定義のようです。つまり google_checks.xml には Java 14 向けの定義も記述されるので Java 11 で開発する場合にはそのままでは使えない(エラーが出たものは取り除く必要がある)ということでした。
<module name="EmptyLineSeparator">
の<property name="tokens">
の value に RECORD_DEF を追加。<module name="PatternVariableName">...</module>
の追加。<module name="AbbreviationAsWordInName">
の<property name="tokens">
の value に RECORD_DEF, RECORD_COMPONENT_DEF を追加。<module name="MethodParamPad">
の<property name="tokens">
の value に RECORD_DEF を追加。<module name="ParenPad">
の<property name="tokens">
の value に RECORD_DEF を追加。
変更後に clean タスク実行 → Rebuild Project 実行 → build タスクを実行すると BUILD SUCCESSFUL が表示されました。
履歴
2020/08/13
初版発行。