Spring Boot + npm + Geb で入力フォームを作ってテストする ( その88 )( Gradle を 5.3.1 → 6.4 へバージョンアップする )
概要
記事一覧はこちらです。
- 今回の手順で確認できるのは以下の内容です。
- Gradle を 5.3.1 → 6.4 へバージョンアップします。
参照したサイト・書籍
目次
手順
.gitignore に /src/main/generated、/src/test/generated_tests を追加する
IntelliJ IDEA を 2019.3 以降にバージョンアップすると generated ディレクトリを作成するようになるので、.gitignore に /src/main/generated、/src/test/generated_tests を追加してその下に作成されるファイルを git の対象外になるようにします。
.......... # Intellij project files *.iml *.ipr *.iws **/.idea/ **/out/ **/src/main/resources/static **/src/main/generated **/src/test/generated_tests ..........
Gradle を 5.3.1 → 6.4 へバージョンアップする
build.gradle の wrapper タスクの記述を以下のように変更します。
wrapper {
gradleVersion = "6.4"
distributionType = Wrapper.DistributionType.ALL
}
gradleVersion = "5.3.1"
→gradleVersion = "6.4"
に変更します。
コマンドプロンプトから gradlew wrapper --gradle-version=6.4
、gradlew --version
コマンドを実行します。
gradle/wrapper/gradle-wrapper.properties は以下の内容になります。
distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-6.4-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists
JVM を呼び出す時のメモリ割り当ての記述が元に戻るので、gradlew.bat 内の記述を set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" → set DEFAULT_JVM_OPTS="-Xmx4096m" に変更します(gradlew も同じような変更をします)。
Gradle を 6 系に上げただけだと SpotBugs のタスクが動作しなくなるので(バージョンアップが必要)、一旦 SpotBugs をコメントアウトします。build.gradle を以下のように変更します。
plugins { id "java" id "eclipse" id "idea" id "org.springframework.boot" version "2.1.4.RELEASE" id "io.spring.dependency-management" version "1.0.7.RELEASE" id "groovy" id "net.ltgt.errorprone" version "0.7.1" id "checkstyle" // id "com.github.spotbugs" version "1.6.9" id "pmd" id "com.moowork.node" version "1.3.1" id "com.gorylenko.gradle-git-properties" version "2.0.0" // Gradle 5.3 で internal API が変更されて gradle-processes が動かなくなったのでコメントアウトする // id "com.github.johnrengelman.processes" version "0.5.0" id "com.energizedwork.webdriver-binaries" version "1.4" } .......... //spotbugs { // // SpotBugs のレポートファイルは Firefox で見ると文字化けしない // toolVersion = "3.1.11" // ignoreFailures = true // effort = "max" // excludeFilter = file("${rootProject.projectDir}/config/spotbugs/spotbugs-exclude-filter.xml") // spotbugsTest.enabled = false //} //tasks.withType(com.github.spotbugs.SpotBugsTask) { // reports { // xml.enabled = false // html.enabled = true // } //} .......... dependencies { .......... // for SpotBugs // compileOnly("com.github.spotbugs:spotbugs:${spotbugsVersion}") // compileOnly("net.jcip:jcip-annotations:1.0") // compileOnly("com.github.spotbugs:spotbugs-annotations:${spotbugsVersion}") // testImplementation("com.google.code.findbugs:jsr305:3.0.2") .......... }
Gradle Tool Window の左上にある「Refresh all Gradle projects」ボタンをクリックして更新します。
clean タスク実行 → Rebuild Project 実行 → build タスクを実行すると Doma 2 関連のエラーが出ました。build.gradle の記述の仕方が古いのが原因です。
build.gradle を以下のように変更します。
.......... // for Doma 2 // Copy the resources referred by the Doma annotation processors to // the destinationDir of the compileJava task task copyDomaResources(type: Sync) { from sourceSets.main.resources.srcDirs into compileJava.destinationDir include "doma.compile.config" include "META-INF/**/*.sql" include "META-INF/**/*.script" } compileJava.dependsOn copyDomaResources springBoot { buildInfo() } ..........
- 以下の2行を削除します。
processResources.destinationDir = compileJava.destinationDir
compileJava.dependsOn processResources
- 以下の設定を追加します。
task copyDomaResources(type: Sync) { ... }
compileJava.dependsOn copyDomaResources
再度 build タスクを実行すると今度は pmdMain でエラーが出ました。
Spring Boot 2.1.x の Web アプリを 2.2.x へバージョンアップする ( その2 )( Spring Boot を 2.1.4 → 2.1.11 へ、Gradle を 5.3.1 → 5.6.4 へバージョンアップする ) で以下の赤枠の記述を削除していたので、今回も同様に削除します。
再度 build タスクを実行すると無事 "BUILD SUCCESSFUL" のメッセージが出力されました。
履歴
2020/05/09
初版発行。