かんがるーさんの日記

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

Spring Boot 2.4.x の Web アプリを 2.5.x へバージョンアップする ( その8 )( Error Prone を 2.5.1 → 2.9.0 へバージョンアップする )

概要

記事一覧はこちらです。

Spring Boot 2.4.x の Web アプリを 2.5.x へバージョンアップする ( その7 )( PMD を 6.32.0 → 6.38.0 へバージョンアップする ) の続きです。

  • 今回の手順で確認できるのは以下の内容です。
    • Error Prone を 2.5.1 → 2.9.0 へバージョンアップします。

参照したサイト・書籍

  1. Error Prone
    https://errorprone.info/index

  2. tbroyer / gradle-errorprone-plugin
    https://github.com/tbroyer/gradle-errorprone-plugin

目次

  1. build.gradle を変更する
  2. エラーの原因を取り除く
    1. Return value of 'flatMap' must be used

手順

build.gradle を変更する

plugins {
    id "java"
    id "eclipse"
    id "idea"
    id "org.springframework.boot" version "2.5.4"
    id "io.spring.dependency-management" version "1.0.11.RELEASE"
    id "groovy"
    id "checkstyle"
    id "com.github.spotbugs" version "4.6.1"
    id "pmd"
    id "net.ltgt.errorprone" version "2.0.2"
    id "com.gorylenko.gradle-git-properties" version "2.3.1"
    id "org.seasar.doma.codegen" version "1.4.1"
}

..........

dependencies {
    def spockVersion = "2.0-groovy-3.0"
    def jdbcDriver = "org.postgresql:postgresql:42.2.23"
    def domaVersion = "2.47.1"
    def lombokVersion = "1.18.20"
    def errorproneVersion = "2.9.0"

    ..........
  • plugins block の以下の点を変更します。
    • id "net.ltgt.errorprone" version "1.3.0"id "net.ltgt.errorprone" version "2.0.2"
  • dependencies block の以下の点を変更します。
    • def errorproneVersion = "2.5.1"def errorproneVersion = "2.9.0"

Gradle Tool Window の左上にある「Refresh all Gradle projects」ボタンをクリックして更新した後、clean タスク実行 → Rebuild Project 実行 → build タスクを実行すると compileJava タスクでエラーが 2個出ました。

f:id:ksby:20210904062403p:plain

エラーの原因を取り除く

Return value of 'flatMap' must be used

Error Prone の Bug Patterns の ReturnValueIgnored です。flatMap メソッドの戻り値を元のメソッドで使用していないことが原因でした。

f:id:ksby:20210904063254p:plain

エラーとなったメソッドでは if 文の代わりに Optional.flatMap メソッドを利用して処理を記述していて、戻り値を元のメソッドで使用する必要はないので、メソッドに @SuppressWarnings("ReturnValueIgnored") を付与してエラーにならないようにします。

clean タスク実行 → Rebuild Project 実行 → build タスクを実行すると無事 "BUILD SUCCESSFUL" のメッセージが出力されました。

f:id:ksby:20210904064136p:plain

履歴

2021/09/04
初版発行。