お仕事でAntイケてないよねーって事でGradleを使うことになりました。
Gradle
いまは1.12が出ているようです。2.0の話もちらほら聞きますがまだかな?
Documentも充実してますし、有志によるDocumentの日本語訳もあります。
以下作業メモ。やりたい事はDocumentにだいたい乗ってるので見る価値なし。
WindowsでGradle環境を作る
GradleはJavaさえ動けば動きます。WindowsとかLinuxとか関係ありません。
Gradle本体はzipで配布されてます。
https://services.gradle.org/distributions/gradle-1.12-bin.zip
解凍して適当に配備しておきます。
今回はWindowsに導入するので適当にC:\直下に解凍して、"C:\gradle-1.12"におきます。
この場所は後で使うので覚えておきます。
次に"C:\gradle-1.12\gradle-start.bat"というファイルを作ります。
中身は環境変数を設定してコマンドプロンプト(cmd.exe)を出すだけのバッチです。
@echo off :: JAVA_HOMEは環境によって異なります set JAVA_HOME=C:\Program Files\Java\jdk1.8.0 set GRADLE_HOME=C:\gradle-1.12 set PATH=%PATH%;%JAVA_HOME%\bin;%GRADLE_HOME%\bin start cmd
これでgradleを使う準備ができました。
このバッチをクリックして実行すると、コマンドプロンプトが出てきます。しばらくお付き合いする画面になります。
ためしに導入したgradleのバージョンを表示します。
gradle -v
こんな感じにバージョン情報が出てきたら導入はOKです。
------------------------------------------------------------ Gradle 1.12 ------------------------------------------------------------ Build time: 2014-04-29 09:24:31 UTC Build number: none Revision: a831fa866d46cbee94e61a09af15f9dd95987421 Groovy: 1.8.6 Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013 Ivy: 2.2.0 JVM: 1.8.0-ea (Oracle Corporation 25.0-b30) OS: Windows 7 6.1 amd64
- "'gradle' is not recognized as an internal or external command, operable program or batch file."とか出てバージョン情報が表示されない
- 環境変数の設定ができていないかもしれません。GRADLE_HOMEを確認してください。
Javaプロジェクトを作る
GradleでJavaプロジェクトを作ります。
"C:\"の下に"workspace"フォルダを作って、さらにその下に"MyJavaProject"を作って作業することにします。
cd C:\ mkdir workspace cd workspace mkdir MyJavaProject cd MyJavaProject
次にgradleのinitタスクを使って初期化します。
Documentは http://gradle.monochromeroad.com/docs/userguide/userguide_single.html#build_init_plugin あたりです。
-
- typeでいくつか指定できます。
Javaプロジェクトにしたいので、java-libraryを指定します。
gradle init --type java-library
:wrapper :init BUILD SUCCESSFUL Total time: 3.357 secs
すると、"BUILD SUCCESSFUL"という文字が出ます。これはコマンドがうまくいった事を意味します。
java-libraryを指定するといろんなファイルができます。
C:\workspace\MyJavaProject>dir
Volume in drive C has no label.
Volume Serial Number is 5C46-EFA0
Directory of C:\workspace\MyJavaProject
2014/05/14 01:31 <DIR> .
2014/05/14 01:31 <DIR> ..
2014/05/14 01:31 <DIR> .gradle
2014/05/14 01:31 1,222 build.gradle
2014/05/14 01:31 <DIR> gradle
2014/05/14 01:31 5,080 gradlew
2014/05/14 01:31 2,404 gradlew.bat
2014/05/14 01:31 643 settings.gradle
2014/05/14 01:31 <DIR> src
4 File(s) 9,349 bytes
- srcフォルダ
- build.gradle
- ビルドファイル。gradleの肝となるファイルです。何かするたびにこのファイルをいじる事になります。
- gradleフォルダ
- gradlewコマンドで使うものが入っています。
- gradlew/gradlew.bat
- gradleコマンドの変わりにgradlewコマンドを使えます。これはGradleを入れていないユーザでもgradlewを使うことで自動的にGradleを使える環境を整えてくれて、Gradleを扱う事が出来るようになります。プロジェクトのメンバーにはこれを使えばビルドできる事を教えるだけで良くなります。
- settings.gradle
- プロジェクト固有のgradleの環境設定を記述する時に使います。例えばProxyの設定などです。
--type java-libraryを指定すると、サンプルコード(src/main/java配下)が出来上がります。
試しに実行しましょう。せっかくgradlewがあるのでこれを使います。
このプロジェクトはどのようなタスクを実行できるか確認します。
(初回はgradle本体のダウンロードが発生するため、時間がかかります。)
gradlew tasks
サンプルコードに対するテストコード(src/test/java配下)も入っているので、ためしにテストを実行します。
gradlew check
Junitなどのライブラリを自動的にダウンロードして、テストを実行してくれます。
プロジェクトに依存するライブラリの定義はbuild.gradleに記述してあります。
テストも問題なかったので、Jarファイルを作ってみましょう
gradlew jar
jarタスクで作られたjarファイルはbuild\libsの下にあります。中身を確認してみます。
jar -tvf build\libs\MyJavaProject.jar
0 Wed May 14 01:45:26 JST 2014 META-INF/ 25 Wed May 14 01:45:26 JST 2014 META-INF/MANIFEST.MF 330 Wed May 14 01:43:06 JST 2014 Library.class
Library.classはサンプルコードにあったJavaファイルです。Jarを作る事ができました。
あとはsrc/*/javaの下にガツガツパッケージを作ってガツガツコードを書きます。