かんがるーさんの日記

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

Spring Boot 1.5.x の Web アプリを 2.0.x へバージョンアップする ( その9 )( gradle-errorprone-plugin を 0.0.16 → 0.6 にバージョンアップ。。。しようと思いましたが止めました )

概要

記事一覧はこちらです。

Spring Boot 1.5.x の Web アプリを 2.0.x へバージョンアップする ( その8 )( 一旦動作確認し、動作しない点があれば修正する ) の続きです。

  • 今回の手順で確認できるのは以下の内容です。
    • gradle-errorprone-plugin の 0.6 がリリースされていて、設定方法も大きく変わっていました。0.0.16 → 0.6 にバージョンアップしてみます。。。が、出来なかったという内容です。

参照したサイト・書籍

目次

  1. build.gradle を変更する
  2. build タスクを実行してみる

手順

build.gradle を変更する

build.gradle の以下の点を変更します。

plugins {
    id "java"
    id "eclipse"
    id "idea"
    id "org.springframework.boot" version "2.0.4.RELEASE"
    id "io.spring.dependency-management" version "1.0.6.RELEASE"
    id "groovy"
    id "checkstyle"
    id "com.github.spotbugs" version "1.6.4"
    id "pmd"
    id "net.ltgt.errorprone" version "0.6"
    id "de.undercouch.download" version "3.4.3"
}

..........

[compileJava, compileTestGroovy, compileTestJava]*.options*.encoding = "UTF-8"
[compileJava, compileTestGroovy, compileTestJava]*.options*.compilerArgs << "-Xlint:all,-options,-processing,-path"
tasks.withType(JavaCompile).configureEach {
    options.errorprone.errorproneArgs << "-Xep:RemoveUnusedImports:WARN"
    options.errorprone.errorproneArgs << "-Xep:InsecureCryptoUsage:OFF"
    options.errorprone.errorproneArgs << "-Xep:ParameterName:OFF"
}

..........

dependencies {
    ..........

    // for Error Prone ( http://errorprone.info/ )
    errorprone("com.google.errorprone:error_prone_core:${errorproneVersion}")
    compileOnly("com.google.errorprone:error_prone_annotations:${errorproneVersion}")
    // JDK 8 support
    errorproneJavac("com.google.errorprone:javac:9+181-r4173-1")

    ..........
}
  • id "net.ltgt.errorprone" version "0.0.16"id "net.ltgt.errorprone" version "0.6" に変更します。
  • [compileJava, compileTestGroovy, compileTestJava]*.options*.compilerArgs = [ ... ] で compile と error-prone のオプションを指定していたのを [compileJava, compileTestGroovy, compileTestJava]*.options*.compilerArgs << "-Xlint:all,-options,-processing,-path"tasks.withType(JavaCompile).configureEach { ... } に分けます。
  • dependencies block の以下の点を変更します。
    • errorproneJavac("com.google.errorprone:javac:9+181-r4173-1") を追加します。

変更後、Gradle Tool Window の左上にある「Refresh all Gradle projects」ボタンをクリックして更新します。

build タスクを実行してみる

clean タスク実行 → Rebuild Project 実行 → build タスクを実行してみます。

f:id:ksby:20181006065051p:plain f:id:ksby:20181006065156p:plain

compileTestJava タスクでエラーが 34個出て build は失敗しました。エラーの内容を見ると、テストコードで Lombok を使用して自動生成させている Getter/Setter を errorproneJavac が認識できていないようです。options.errorprone.disableWarningsInGeneratedCode = true とかを指定してもエラーはなくなりませんでした。テストコードで Lombok を使用しないように変更すればエラーはなくなるのですが、そうまでして 0.6 にバージョンアップするか迷います。。。

https://github.com/tbroyer/gradle-errorprone-plugin には Error Prone requires at least a JDK 9 compiler. という記述があり JDK 9 以上が本来想定されている環境のようですので、今回は gradle-errorprone-plugin のバージョンアップは止めることにします。JDK を 8 → 11 に変える時に再度試そうと思います。

履歴

2018/10/06
初版発行。