Gradleで生成したプロジェクトには、Gradle Wapperと呼ばれるgradlew
とgradlew.bat
という2つの実行ファイルができる。前者はLinux/macOS用、後者はWindows用だ。
GradleをHomebrewなどでインストールした場合は、gradle
コマンドとgradlew
コマンドの2つが手元にある状態になる。この2つの違いは何なのか?
gradlewはGralde + インストーラー
gradlewはGradleがなければインストールしてくれる。
gradlewはプロジェクトの一部
gradleはどのプロジェクトとも関連しない実行バイナリであるのに対し、gradlewはプロジェクトの一部になっている。つまり、gitに入れて管理し、プロジェクトチームで共有する。
gradlewは特定バージョンのGraldeと関連付けられている
gradleはHomebrewでインストールしたときのバージョンになるが、gradlewは特定のバージョンのGradleに固定化される。なので、もしローカルにgradleがあったとしても、バージョンが異なれば、gradleをインストールされる。
gradlewを使うメリット
- 新規参加の開発者にgradleのインストールを頼まなくてもいい。(勝手にインストールされるから)
- チームでgradleのバージョンが勝手に統一され、再現性の高いビルド環境になる。
- CIなどでgradleを使えば一貫した信頼性のあるビルドになる。