Gradle Wrapper の定義方法の変更
Gradle 4.8 から Gradle Wrapper を使う場合には、カスタムタスクを作成するのではなく既存のタスクを設定する方式に変わったようだ。
Overwriting Gradle's built-in tasks - Gradle 4.8 Release Notes
Defining a custom wrapper or init task is deprecated. Please configure the existing tasks instead.
// before
task wrapper(type: Wrapper) {
gradleVersion '4.10'
}
// after
wrapper {
gradleVersion = '4.10'
}
before の記述をしていると実行時に警告が出るようになっている。
Creating a custom task named 'wrapper' has been deprecated. This is scheduled to be removed in Gradle 5.0. You can configure the existing task using the 'wrapper { }' syntax or create your custom task under a different name.
Gradle 5.0 では before の書き方はできなくなるようだ。
そもそも build.gradle に Gradle Wrapper に関する記述は必須ではない
そもそも build.gradle に Gradle のバージョンを指定しなくても、コマンドラインで Gradle Wrapper のバージョンを指定することができるようになっている。
gradle wrapper --gradle-version 4.10
このコマンドで作成される gradle/wrapper/gradele-wrapper.properties には Gradle のバージョンに関する情報も含まれるので、ここを見ればバージョンはわかる。
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
build.gradle のバージョンを変更したが wrapper タスクを実行し忘れていたなんてことがあると、build.gradle 内のバージョンと実際に使用しているバージョンとが食い違うということが起こりうるので、build.gradle でわざわざバージョンを指定する必要はないのかもしれない。