Gradle お勉強 その1 ~EclipseとWrapper~

前回、Spring Bootについて書いた中で出てきたGradleですが、こちらについて追加情報を学んだので書きのこしておきます。


私はjavaの開発はEclipseでやることがほとんどなんですが、前回の方法でプロジェクトを作成した場合、クラスパス指定もされていないし、.projectファイルもないしで、そのままEclipseワークスペースに取り込むことができません。
その解決に使えるのがGradleのeclipseプラグイン
プロジェクトルートのbuild.gradleに以下のように追記します。

<略>
apply plugin: 'java'
apply plugin: 'spring-boot'
apply plugin: 'eclipse'
<略>

そんで、コンソールから次のコマンドを実行します。

gradle eclipse

するとフォルダ内に、.classpathファイルと.projectファイルが作成されることが見て取れると思います。
これで、Eclipseでプロジェクトとして認識してくれるようになります。
Gradleで指定した依存関係も、ちゃんとクラスパスに追加してくれます。


逆に、EclipseのGradleプラグインを使うというパターンもあります。


続いてWrapperのお話。
チームで開発する場合、build.gradleとプロジェクトのソースを配布して、各開発者の端末でGradleを動かすことになります。
ただその場合、全員の端末にGradleをインストールする必要があり、ちょいとめんどいですよね。
その解決に使えるのがGradleWrapperです。
またもbuild.gradleに以下の行を追加します。

task wrapper(type: Wrapper) {
    gradleVersion = '1.12'
}

そんで、コンソールから次のコマンドを実行します。

gradle wrapper

すると、gradlewとgradlew.batというファイルとgradleというフォルダが作成されるはずです。
~.batはwindows用、gradlewはMacLinux用のシェルスクリプトです。
これらをソースやbuild.gradleと一緒にチーム内で共有します。
すると、チームの他の人はGradleをインストールしなくても、batやシェルを実行するだけでGradleを直接使ったのと同じ効果が得られます。
(ちなみに1.12はgradlew経由で使用するGradleのバージョンを指定しています。
他の人の実行イメージはこんな感じ。

gradlew build

やってみてね。