意識の低いGradleのバージョンアップ

※Gradle 2.4以下の場合は正規の形で再インストールすることが推奨されています
[Gradle 2.4: The fastest yet - Gradle](https://gradle.org/blog/gradle-2-4-the-fastest-yet/)

## 0.背景
Gradleは便利ですが2,3ヶ月ごとにバージョンアップするので、付いて行くのが大変です。

```
$ gradle -v

------------------------------------------------------------
Gradle 2.5
------------------------------------------------------------

Build time:   2015-07-08 07:38:37 UTC
Build number: none
Revision:     093765bccd3ee722ed5310583e5ed140688a8c2b

Groovy:       2.3.10
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_45 (Oracle Corporation 25.45-b02)
OS:           Windows 8.1 6.3 amd64
```

よくあります。
（2016/6/7時点で最新はv2.13。v2.14-rc4も出てるのでもうすぐバージョンアップしそう）

ここからgradleのバージョンアップをするには下記手順が必要です。

1. ブラウザを開く
2. `gradle`でググる
3. Gradleのサイトへ行く
3. ダウンロードボタンを探す
4. ダウンロードする
5. ダウンロードしたファイルを解凍する
6. 解凍したフォルダを所定の場所へ移動する
7. 必要ならば`PATH`を書き換える
8. `PATH`を書き換えた、かつWindowsならばコマンドプロンプトを再起動する

絶望だ。

意識が低い時は Gradle Wrapper を使うと便利です。

[第62章 Gradleラッパー](http://gradle.monochromeroad.com/docs/userguide/gradle_wrapper.html)
（最新ドキュメントではChapter 5に昇格している模様 [Chapter 5. The Gradle Wrapper](https://docs.gradle.org/current/userguide/gradle_wrapper.html)）


## 1. build.gradleを書こう

wrapperを作るため`build.gradle`を書きます。

```groovy
task wrapper(type: Wrapper) {
  gradleVersion = '2.12'
}
```

意識が低くてもコレだけは覚えておきましょう。

## 2. wrapperタスクを実行する

```
gradle wrapper
```

これでwrapperファイルが生成されます。

## 3. gradlewを実行する

ダウンロードに時間がかかる。

```
$ gradlew.bat -v
Downloading https://services.gradle.org/distributions/gradle-2.12-bin.zip
............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Unzipping C:\Users\kaakaa_hoe\.gradle\wrapper\dists\gradle-2.12-bin\avhnk0p45wmm16bas931at19r\gradle-2.12-bin.zip to C:\Users\kaakaa_hoe\.gradle\wrapper\dists\gradle-2.12-bin\avhnk0p45wmm16bas931at19r

------------------------------------------------------------
Gradle 2.12
------------------------------------------------------------

Build time:   2016-03-14 08:32:03 UTC
Build number: none
Revision:     b29fbb64ad6b068cb3f05f7e40dc670472129bc0

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_45 (Oracle Corporation 25.45-b02)
OS:           Windows 8.1 6.3 amd64
```

（最新がv2.13なのに、上の表示がv2.12なのは意識が低いからです）

## 注意点

* バージョンアップ時にGradle wrapperの最適化がされることもある
* 毎回、build.gradleの記述の労力とwrapperによるダウンロード時間がかかる

最新版をちゃんとダウンロードして使うのが健全ですが、意識が低い時のための手段として。
Gradle Wrapperのファイルだけをコミットしたリポジトリを作っておけば、バージョン部分だけを書き換えて使えるので、その方法も良いかと思います。