かんがるーさんの日記

最近自分が興味をもったものを調べた時の手順等を書いています。今は Spring Boot をいじっています。

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 の内容も反映します。

参照したサイト・書籍

  1. checkstyle / checkstyle
    https://github.com/checkstyle/checkstyle

  2. checkstyle/checkstyle - checkstyle/src/main/resources/google_checks.xml
    https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml

目次

  1. build.gradle を変更する
  2. IntelliJ IDEA の CheckStyle-IDEA Plugin が使用する Checkstyle のバージョンを 8.34 に変更する
  3. 最新版の 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 が表示されました。

f:id:ksby:20200812224944p:plain

IntelliJ IDEA の CheckStyle-IDEA Plugin が使用する Checkstyle のバージョンを 8.34 に変更する

CheckStyle-IDEA Plugin に指定できるバージョンが 8.34 までだったので 8.34 を指定します。

f:id:ksby:20200812225531p:plain

最新版の google_checks.xml から設定をコピーする

最新版の google_checks.xml から差分を反映します。。。が、2020/08/12 時点の google_checks.xml の差分を反映したところ checkstyleMain タスクでいくつかエラーが出て削除することがありました。

今回反映した内容を箇条書きで記述しておきます。

  • <module name="RightCurly"><property name="tokens">valueENUM_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 が表示されました。

f:id:ksby:20200813001139p:plain

履歴

2020/08/13
初版発行。