Gradle

Gradle Wrapper をカスタムしてみる

今年も残りわずかとなりましたが、今年最初となるエントリーは『 G*アドベントカレンダー 2014』の第24日目の記事です。 早いもので Gradle をはじめてから、まもなく4年が経とうとしています。 今年は長年の悲願であった業務への導入にも成功し、非常に充…

Gradle Watch Plugin を作ってみた

今年も残りわずかとなりましたが、今年最初となるエントリーは 『G* Advent Calendar 2013』の12日目です。 皆さん Gradle 使ってますか? 自分はと言うと… 残念ながら、今年も業務への本格導入はできなかったので、 来年こそは導入するぞという意気込みも込…

Apache Solr を 60 秒で試してみる

今回も Java で全文検索です。 前回は Apache Lucene を試しましたが 『検索エンジンの常識をApache Solrで身につける』 ということで Apache Solr のデモも試してみました。 もちろん、今回も誰でも 60秒で デモを試せるように Gradle スクリプトを作ってみ…

Apache Lucene を 60 秒で試してみる

今更ながら Java で全文検索です。とりあえず Apache Lucene の デモを試してみようと思ったのですが、最新リリースの 3.5.0 の情報が見当たらなかったので、この際、誰でも 60秒で デモを試せるように Gradle スクリプトを作ってみました。 デモのために わ…

Gradle でメールを送ってみる

Gradle でメールを送ろうとしたら クラスパス関係ではまってしまったのでメモしておこう。 どうやら、ant.mail を使うためには EmailTask (Ant のライブラリ) を読み込んだクラスローダに直接 JavaMail 関係のライブラリを追加するしかないっぽい。 クラスロ…

Gradle でカバレッジを計測してみる その2

『Gradle でカバレッジを計測してみる』に引き続き EMMA といきたいところですが、訳あって Gradle でのカバレッジ計測には Cobertura を使うことにしました。 と言うのも Jenkins CI の EMMA プラグインとは あまり相性が良くなさそうだからです。 なんと J…

Gradle で FindBugs してみる

Gradle で FindBugs する方法については id:kyon_mm さんが既に 『Gradleで簡単にFindBugsを使えるようにしてみた』で書かれていますが、 折角なので、もう少しいい感じにしてみました。 変更点は5つ... インクリメンタルビルドに対応した ライブラリの取得…

Gradle でカバレッジを計測してみる

前回は Gradle でテストを並列で実行してみましたが、テストと言えば、カバレッジも測定しないと... と言うことで、今回は Gradle で テストを実行して、その際のカバレッジを測定してみることに... Java のカバレッジツールと言えば Cobertura EMMA が有名…

Gradle でテストを並列実行してみる

Gradle の Java プラグインには テストを並列で実行するための機能が標準で用意されています。 通常は テスト用のプロセスは 1つしか立ち上がりませんが、 test.maxParallelForks = 5のように設定すれば 最大 5プロセスで並列実行できるようになります。 も…

Jenkins CI で Spock してみる

Spock や JUnit のようなテストフレームワークは 継続的インテグレーションで その真価が発揮されます。 と言うことで、今回は Jenkins CI で Spock してみました。 Jenkins CI で Spock すれば (もちろん 実行は Gradle で...) こんな感じで出力してくれま…

Gradle で Spock してみる

Spock は Java で BDD (Behavior Driven Development) するためのフレームワークです。 もちろん、Groovy でも... Java の開発では おなじみの IDE (Eclipse) や ビルドツール (Ant, Maven, Gradle) にも対応しているので、プロジェクトへの導入はとっても簡…

Gradle の依存関係を使いこなしてみる

Gradle でも Maven や Ivy と同じように簡単にライブラリの依存関係を解決することができます。 内部的に Ivy を利用しているようなので同じことができて当然なのですが... まずは リポジトリの設定から... ライブラリの取得先の Maven リポジトリのパスを …

Gradle の Code Quality プラグインでエラーを無視する

id:kyon_mm さんの 『Gradleで簡単にFindBugsを使えるようにしてみた』 を見て、 まずは Code Quality プラグインを試してみました。 Code Quality プラグインを使えば、簡単に Checkstyle や CodeNarc でコーディング規約をチェックできて良いのですが、デ…

Gradle で Amazon EC2 に公開鍵をアップロードしてみる

Amazon EC2 では インスタンス生成時 もしくは その前に Key Pair を生成して クライアントに秘密鍵をダウンロードします。 EC2 インスタンスには その秘密鍵を使って SSH でログインするのですが、 実は その行為に 今まで ずっと違和感を感じていました。 …

Gradle で Amazon EC2 を操作してみる

最近、いろいろと話題の多い Amazon EC2 ですが... 実は 開発用途としても非常に便利に利用できるということに最近気がつきはじめました。 その一つが JAWS-UG Nagoya勉強会 第1回 でも発表させていただいた Jenkins CI の分散ビルド (プレゼン資料は近日公…

Gradle で SSH してみる

サーバの作業はほとんどが自動化されていると思いますが、 わざわざサーバにログインしてコマンドを実行しなくてはならないので面倒です。 クライアントから直接操作できればいいのに... と言うことで Gradle で SSH ですよ。 ただ、今のところ Gradle 自体…

Jenkins CI 上で Gradle を利用する最も簡単な方法

Gradle にも大分慣れてきたし、そろそろ 実際にプロジェクトで使えるように準備しないと... まずは Jenkins CI で Gradle が利用できるように準備しようかな。 今時のプロジェクトでは Jenkins CI ぐらい当たり前ですよね。 と言うことで、今回は Jenkins CI…

Gradle で環境ごとにあれもこれも変更する

前回までは Configslurper を使って 環境毎に構成を変更する方法について書きましたが @literalice さんに Gradleでプロパティなどの設定情報を外出しして切り替えて使う で 環境毎に別の Gradle ファイルを取り込んで いろいろと変更する方法を教えてもらっ…

Gradle で環境ごとに構成を変更する その3

前回、前々回 と既に2回も書いておきながらなんですが、 設定ファイルを読み込んで 標準出力するだけのサンプルなんて何の役にも立たない... と言うことで、今回は 読み込んだ設定を アプリケーションのプロパティファイルに 展開してみることに... 結局 bu…

Gradle で環境ごとに構成を変更する その2

こんな大変なときになんですが... 何もしないよりは 自分にできることを続けていこう!! と言うことで... id:fumokmm さんから ConfigSlurper で複数の設定ファイルの内容を マージする方法を教えてもらったので、今回は 環境ごとの構成を デフォルト設定 e…

Gradle で環境ごとに構成を変更する

残念ながら ユーザガイドを見る限り、 現バージョン (1.0-milestone-1) の Gradle には 環境毎に構成を変更できるような機能 (Maven の profile のような機能) は 実装されていないようです。 実際に実務で使う場合、絶対に必要な機能だと思うのですが なぜ…

インストールレスで Gradle してみる

とっても便利な Gradle ですが、 実はわざわざインストールしなくても 誰でも簡単に Gradle できるということを皆さんご存知ですか? これは Gradle Wrapper という機能で ユーザーガイド (こちら) にもちゃんと記載されています。 ちなみに、この機能は G…

Gradle から Git を利用してみる

前回、GitHub を Maven リポジトリにする方法を書きましたが、 成果物を GitHub へ公開するには コマンドでの操作が必要なため結構面倒です。 しかも、毎回同じコマンドを実行し、『○○ 0.1.0 リリース』 みたいなありきたりなコミットコメントを 書かなくて…

GitHub を Maven 公開リポジトリにする (Gradle 編)

最近は Gradle がとってもお気に入りなので プラグインの開発も少しずつ行っているのですが、 折角作成したプラグインやライブラリも Maven リポジトリで公開しないと利用しづらいので どこか公開できる場所がないか探していたところ Github を Maven 公開リ…

マルチプロジェクトビルドのすゝめ その2

今回は Gradle のマルチプロジェクトビルドの機能を使って 実際に 簡単なシングルプロジェクトをマルチプロジェクトに移行してみることに... もちろん 対象とするプロジェクトは Gradle でビルドできることが前提です。 ディレクトリ構成は 次のように ごく…

マルチプロジェクトビルドのすゝめ

Gradle のマルチプロジェクトビルドは とにかくすばらしい。 このマルチプロジェクトビルド機能のために Gradle に乗り換えた プロジェクトもあると聞いことがあるが それも納得できる。 自分が Gradle を使ってみようと思ったのも この機能のためだし、 本…

ソース と Javadoc を Maven リポジトリに公開する方法

Gradle も 標準では ソース と Javadoc をアーカイブして Maven リポジトリに公開してくれないようなので、その方法をメモ。本当はプラグインがあると良いんだけど... apply plugin: 'maven' // xxx-javadoc.jar 生成 task packageJavadoc(type: Jar, depend…

Java プラグインでは Zip タスクが勝手に実行される

Gradle に Java プラグインを適用すると なぜか Zip タスクが 勝手に実行されてしまいます。 ちょっと悩んでいたのですが、なんと 犯人は Java プラグインの assemble タスクだったのです。 しかも これは全然問題ではなくドキュメントにも書いてある歴とし…

Gradle は Make・Ant・Maven の良いとこ取り

今更ですが Gradle について... Gradle は Make, Ant, Maven につぐ 第4 のビルドツールです。 他のビルドツールからの移行を始めているプロジェクトもかなり増えており、最近 注目されているツールの一つです。 Gradle の特徴を簡単に言ってしまうと、 Make…

タスク定義の << には注意しよう

突然ですが、みなさんは task hello << { println 'Hello, world.' }と task hello { println 'Hello, world.' }の違いがわかりますか? 上記の違いはたった2文字 だけです。 ところが、このたった2文字で 全く意味が変わってしまうので注意しましょう。 …