Groovy > Gradleの使い方
更新日
2015-08-20
広告
Gradleは、Apache AntやMavenのような処理を、Groovyで書けるビルドフレームワークです。
以下、Linuxを前提に、Gradleの使い方を説明します。
インストール
まず、以下のコマンドでgvmコマンドをインストールします。$ curl -s get.gvmtool.net | bashgvmコマンドを使い、groovyとgradleをインストールします。 以下のコマンドで、インストール可能なバージョン一覧を表示できます。
$ gvm list gradle以下は、バージョン2.6をインストールする例です。
$ gvm install gradle 2.6
ディレクトリ構成
mavenと似たディレクトリ構成としておいたほうが、色々と楽です。project/ - build.gradle (これがビルドスクリプト) - lib/ - src/ - main/ - java/ (Javaのソースコード) - resources/ (設定ファイルなど) - test/ (テストコード) - java/ (Javaのテストコード) - groovy/ (Groovyのテストコード)build.gradleというファイルが、Gradleのビルドスクリプトになります。
Javaソースコードのコンパイル
build.gradleに以下を記述します。apply plugin: 'java'rootディレクトリ(build.gradleがあるディレクトリ)で、以下を実行すると、src/main/java 以下のjavaファイルがコンパイルされます。
$ gradle compileJava
Javaテストコードの実行
以下のコマンドで、src/test/java 以下のテストコードがコンパイルされ、実行されます。$ gradle test
Groovyテストコードの実行
groovyでテストクラスを実装した場合は、src/test/groovy以下に配置します。 そして、build.gradleに以下を記述します。apply plugin: 'groovy'また、レポジトリと、groovyのjarファイルを明示的に指定する必要があります。 ネットにつながる環境であれば、mavenレポジトリを使うのが楽です。
repositories { mavenCentral() } dependencies { testCompile 'org.codehaus.groovy:groovy:2.4.4' }レポジトリやtestCompileの設定を記述しないと、groovyによるテストは失敗します。 これで、groovyによるテストを実行できます。
$ gradle test特定のテストクラスだけを実行するには、test.singleパラメータを指定します。
$ gradle -Dtest.single=Sample testこの場合、クラス名に'Sample'を含むテストクラスが実行されます。;
テスト時の標準出力
デフォルトでは、テストを実行するときに、何も標準出力されません。 標準出力を有効にする場合は、以下のように設定しておきます。test { testLogging.showStandardStreams = true }
テスト時の情報
テスト時の情報を増やすには、以下のようにテストを実行します。$ gradle test -i-iオプションを指定すると、非常に多くの情報が出力されます。 テストのエラーのときのスタックトレースだけ出力したい場合は、以下のように、testLogging.exceptionFormatをfullに設定しておきましょう。
test { testLogging { exceptionFormat = 'full' }また、以下のように、afterTestプロパティを実装して、自由に情報を出力することも可能です。
test { afterTest { desc, result -> println desc.name } }afterTestはgradleのTestListenerのメソッドです。 引数のdescはTestDescriptorクラス、resultはTestResultクラスです。
必ずテストを実行
プログラムが変更されていない場合、gradle test を実行しても、gradleはテストを実行しません。 プログラムの変更有無にかかわらずテストを実行したい場合は、以下のようにします。$ gradle cleanTest testもしくは、build.gradleに以下を追加します。
test.dependsOn 'cleanTest'
zipパッケージの作成
開発したアプリケーションをzipでパッケージする方法です。apply plugin: 'application' version = '0.1' mainClassName = 'test.App'versionは、適宜、変更してください。 mainClassNameは、mainメソッドが実装されているクラスを指定してください。
$ gradle distZip上記のコマンドを実行すると、zipパッケージが作成されます(buildディレクトリ以下)。 compile dependencyとして指定したライブラリ群は、は一緒にパッケージされます。
広告
お問い合わせは sweng.tips@gmail.com まで。