Gradle Wrapper をカスタムしてみる

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

Gradle Watch Plugin を作ってみた

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

GroovyFX で GUI アプリケーション開発をはじめよう!!

今年もあとわずかとなりましたが、今年最初となる(しかも 多分 今年最後になるであろう)記念すべきエントリーは 『G* Advent Calendar 2012』の21日目です。 昨年はすっかり出遅れて寂しい思いをしましたが、今年は間に合いましたよ!! で、早速ですが...…

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 関係のライブラリを追加するしかないっぽい。 クラスロ…

Spockでもテストスイートしてみる

『Eclipse で複数の Specification を一括実行する』で 実は Spock には Junit のテストスイートのような機能はありません。 つまり、Spock 自身には 複数の Specification を一括で実行する機能はないのです。 Eclipse で複数の Specification を一括実行す…

任意の条件でテストをスキップする

Spock にも JUnit4 の assumeThat のように ある条件の時だけ テストをスキップする機能が 0.5-groovy-1.8 で追加されています。 前回 のようにわざわざ設定を変更する必要がないので、環境に依存したテスト等には非常に便利です。 例えば、実行環境が Windo…

任意のフィーチャーメソッドだけを実行する

Spock でも JUnit4 のCategory と同じように 任意のテスト (フィーチャー) だけを実行することや逆にスキップすることができます。 方法は簡単です。 あらかじめ、Specification (テストクラス) もしくは フィーチャー (テストメソッド) に 好きなだけアノテ…

Spock のメソッド名は識別子でなくてもよい

Java プログラマが 始めて Spock のコードを目にすると、何か違和感を感じると思います。 たぶん それは Java とは異なる 『メソッド』 と 『ブロック』 が原因だと思います。(もちろん Groovy シンタックスもですが...) と言うことで、今回はメソッド名につ…

Eclipse の JUnit ビューを等幅フォントでいい感じに表示する

Spockでは (Groovy でも...) Power Assert と呼ばれる とっても便利な機能で エラー情報を詳細に出力してくれるのですが、 悲しいことに Eclipse の JUnit ビューはプロポーショナルフォントで表示されるので のように非常に残念な結果になってしまいます。…

Eclipse で複数の Specification を一括実行する

Spock を使い続けていくと、当然ですが Specification ファイルはどんどん増えていきます。 実は Spock には Junit のテストスイートのような機能はありません。 つまり、Spock 自身には 複数の Specification を一括で実行する機能はないのです。 でもそん…

Java プロジェクトに Spock を導入するための3ステップ

Java プロジェクトでユニットテストにお困りなら Spock を導入することをオススメします。 もし、Eclipse を使っているのであれば、たった3ステップで 既存の Java プロジェクトに導入できます。 「上の承認がないと導入できないし…」 とか 「ビルドスクリ…

それでも Spock を使い続ける理由

2011年も残すところ後1ヶ月となりました。 12月と言えば アドベントカレンダーですが、技術系アドベントカレンダーには参加できなかったので勝手にやっちゃいます。 3日坊主だけにはなりたくないですが やれるところまでがんばってみるかな… と言うことで …

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 でコーディング規約をチェックできて良いのですが、デ…

Mac OS X 10.6 (Snow Leopard) の SSH パスワード認証を無効にする

Mac OS X でも SSH でのリモートログインを許可しておくと 何かと便利なのですが、デフォルトではパスワード認証が有効になっているので セキュリティ的にちょっとだけ不安だったりします。 と言うことで... パスワード認証を無効にして 公開鍵認証だけ有効…

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 自体…

git svn を使ってみる (Windows 環境構築編)

GitHub のおかげで プライベートでは Git 一色の今日この頃。そろそろ 仕事でも Git を使ってみることに... 分散型リポジトリを使った開発のリズムは非常に心地よく 一度味わってしまうと もう 二度と集中型リポジトリを使った開発には戻れない... というこ…

お題:ランダム文字列

id:fumokmm さんの お題:ランダム文字列 が面白そうだったので Groovy で参戦!! Groovy だってまだまだいけるよ!!

まだまだ流行の KeyValue -> XML (JavaScript 版)

まだまだ流行の KeyValue -> XML (http://togetter.com/li/112454) を JavaScript で書いてみました。 既に id:aya_eiya さんが 『このごろ流行のKeyValueをJavaScriptでもやってみた』 で書かれていますので、 ここはあえて DOM を使ってみることに... こん…

はてなダイアリーに 埋め込んだ Gist のスタイルを変える

はてなダイアリーに Gist を埋め込めるのは非常に便利だけど、 はてなダイアリーの見た目と合わないし、なんかイマイチ... と思われている方もみえるのではないでしょうか? もちろん自分もそうでした。 このブログで使っているテーマの場合、コードは print…