インストールレスで Gradle してみる
とっても便利な Gradle ですが、 実はわざわざインストールしなくても 誰でも簡単に Gradle できるということを皆さんご存知ですか?
これは Gradle Wrapper という機能で ユーザーガイド (こちら) にもちゃんと記載されています。
ちなみに、この機能は Gradle 自身のビルドにも使われているのです。
ただ 『インストールしなくても...』というのは ちょっと語弊があるかもしれません。
と言うのも...
この Gradle Wrapper の機能を利用にするには まず初めに build.gradle に
task wrapper(type: Wrapper) { gradleVersion = '1.0-milestone-1' }を追加して Gradle がインストールされた環境で
$GRADLE_HOME/bin/gradle wrapperのように wrapper タスクを実行する必要があるからです。
と言うことで...
ビルド担当者は 他のメンバーのためにがんばって Gradle をインストールして 上記のタスクを実行しましょう。
たった一度実行するだけで良いのですから...
上記のタスクを実行すると
my_project/ +- gradlew +- gradlew.bat +- gradle/ +- wrapper/ +- gradle-wrapper.jar +- gradle-wrapper.propertiesのようなファイルがプロジェクト配下に作成されます。
このファイルは迷うことなく プロジェクトの バージョン管理システムに コミットしてしまいましょう。 (全部 合わせても たったの 32KB!!)
そうすれば、他のメンバーは ソースをチェックアウトして プロジェクト配下の gradlew を
./gradlew buildのように実行するだけで Gradle をインストールしていなくても ちゃんとビルドできてしまうのです。
もちろん、Java がインストールされていて、インターネットにつながってないとダメですが...
興味のある方は
git clone https://github.com/bluepapa32/gradle-wrapper-sample.git cd gradle-wrapper-sample ./gradlew -qのように実行してみましょう。
いつものように "Hello, world!" が出力されるはずです。
私一人が上記の作業をするだけで 皆さんは何もインストールしなくても Gradle でビルドできてしまうのです。
もちろん Gradle がインストールされている環境であれば
gradle -qでも全く同様にビルドできます。
この機能があれば Maven や Ant から Gradle への移行もかなり楽になるのではないかと思います。
既に Maven や Ant が普及しているようなチームの場合 メンバー全員の端末や統合環境等にわざわざ 新しく Gradle をインストールしてまで
移行することは難しいと思いますが、勝手に Gradle 化して バージョン管理システムにコミットしておくだけなら、誰も文句は言わないはずです。
暫くすれば きっと みんな Gradle へ移行し始めるのではないでしょうか。