Gradle Wrapperのバージョンアップ手順

たまにしかやらないので忘れがちなGradle Wrapperのバージョンアップ手順のメモです。

2021/12/29更新 分かりにくい部分があったので修正

先に結論

お急ぎの人向けのコピペ用ワンライナーです。バージョンだけ差し替えてご利用ください。

$ ./gradlew wrapper --gradle-version 7.3.3 && ./gradlew wrapper

手順

まずバージョンアップ前。

$ ./gradlew -v

------------------------------------------------------------
Gradle 6.9.2
------------------------------------------------------------
以下省略

wrapperタスクの--gradle-versionオプションで変更後のバージョンを指定します。

$ ./gradlew wrapper --gradle-version 7.3.3
Starting a Gradle Daemon (subsequent builds will be faster)

BUILD SUCCESSFUL in 3s
1 actionable task: 1 executed

これだけだと設定が書き換わっただけでローカルのgradlewはまだ変更前のバージョンのままです。

$ git diff
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 44e7c4d..5f1b120 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.2-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists

何かしらのタスクを実行すると設定したバージョンが反映されるのでwrapperタスクを実行します。

$ ./gradlew wrapper
Downloading https://services.gradle.org/distributions/gradle-7.3.3-bin.zip
...........10%...........20%...........30%...........40%...........50%...........60%...........70%...........80%...........90%...........100%

Welcome to Gradle 7.3.3!

Here are the highlights of this release:
 - Easily declare new test suites in Java projects
 - Support for Java 17
 - Support for Scala 3

For more details see https://docs.gradle.org/7.3.3/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

BUILD SUCCESSFUL in 20s
1 actionable task: 1 executed

変更がある場合はgradle-wrapper.properties以外も変更されています。
パッチバージョンのバージョンアップなどで変更がない場合は差分がありません。

$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   gradle/wrapper/gradle-wrapper.jar
        modified:   gradle/wrapper/gradle-wrapper.properties
        modified:   gradlew
        modified:   gradlew.bat

no changes added to commit (use "git add" and/or "git commit -a")

参考リンク