how about gradle?
DESCRIPTION
TRANSCRIPT
Gradle
2011-02-24 g*workshopNAKANO Yasuharu (a.k.a. nobeans)
http://www.flickr.com/photos/psyberartist/5112723654/
Who am I?✓氏名:中野 靖治(a.k.a nobeans)✓所属:NTTソフトウェア株式会社✓ブログ:豆無日記 http://d.hatena.ne.jp/nobeans/✓さっきの上原さんとGroovyServ作ってます✓Groovyの起動時間を超速に!!
$ time groovy -e 'println "Hello, world!";'Hello, world!
real 0m1.806suser 0m1.321ssys 0m0.171s
$ time groovyclient -e 'println "Hello, world!";'Hello, world!
real 0m0.029suser 0m0.001ssys 0m0.002s
$ time groovyserverGROOVY: /Users/ynak/Developer/runtime/groovy/bin/groovyGROOVYSERV_HOME: /usr/local/Cellar/groovyserv/0.5/libexecstarting....groovyserver 71209(1961) is successfully started
real 0m5.038suser 0m0.015ssys 0m0.048s
Gradle is...����������
Better Ant
http://www.flickr.com/photos/sanchom/4488333758/
#$-�����$�
BetterMaven
#$-�������%
要は、プロジェクト管理やビルドを自動化するツール
Basic of Gradle✓build.gradleにGroovyのDSLとして書く✓コンパイル、テスト等は標準タスクを実行するだけ✓独自タスクの定義も簡単✓普通にGroovyコードが書ける!✓実は、実装の大半はJavaで書かれている
✓http://gradle.org/
$ find . -name '*.java' | grep -vi test | wc -l 1288$ find . -name '*.groovy' | grep -vi test | wc -l 170
!"#$%&'(")'(%*"+(,+
-)'(%*
-)./01'(2%3%"4567869:7;
-)./01'(<$..3=
-0$.)(,,>(,.?$)(,
-)'%,,(,
-)./01'(7(,+2%3%
-)./01'(7(,+<$..3=
-0$.)(,,7(,+>(,.?$)(,
-+(,+@'%,,(,
-+(,+
A4BC9"D4@@;DDE4C
7.+%'"+1/(-"FFGHIJ",(),
+%,K"L(''."MM"N
""""0$1*+'*"OP(''.Q"R.$'&"SO
T
!"#$%&'("L(''.
-L(''.
P(''.Q"R.$'&"S
A4BC9"D4@@;DDE4C
7.+%'"+1/(-"JGUFV",(),
Antとの関係✓Antの柔軟性が捨てがたい?✓Gradleなら...✓Groovyで普通にロジックが書ける✓Antタスクも普通に呼べる✓やりたい放題✓Groovyの記述パワーで簡潔に収まる
http://www.flickr.com/photos/christianhaugen/3436086529/
task compile << { ant.javac( srcdir: "src/main/java", classpath: configurations.compile.asPath, includeantruntime: false )}
Mavenとの関係✓ディレクトリ構成は同じ✓気軽に試せる✓依存ライブラリ管理✓Ivy経由でMavenリポジトリを活用!
✓Mavenよりもマルチプロジェクトのサポートが強力
http://www.flickr.com/photos/ngmmemuda/4166182931/
repositories { mavenCentral() mavenRepo urls: [ "http://snapshots.repository.codehaus.org/", "http://repository.codehaus.org/", ]}dependencies { groovy 'org.codehaus.groovy:groovy:1.7.7' testCompile 'junit:junit:4.8.2'}
Plugin×Plugin✓色々な機能がプラグインとして提供されている✓Java Javaのビルドとか✓Groovy Groovyの〃✓Scala Scalaの〃✓Maven リポジトリへのデプロイとか✓OSGi バンドル生成とか✓Eclipse Eclipse設定ファイルの生成とか✓もちろん自分でも簡単にプラグインがかける✓書いたことないけど
http://www.flickr.com/photos/horiavarlan/4273913228/
daemon mode✓--daemonオプションをつけて実行するだけ✓プロセスが常駐して次回から起動の待ち時間が短縮される!✓GroovyServっぽい!!✓kobo-commonsで比較してみた✓gradle test ==> 約6秒✓gradle test --daemon ==> 約2秒
✓まだ実験的機能だけど、個人的に大ヒットhttp://www.flickr.com/photos/fdecomite/3346774343
Documentation✓本家の英語ドキュメントが結構充実✓http://gradle.org/0.9.2/docs/userguide/userguide.html
✓英語嫁?✓そこで、@literalice さんの↓ですよ✓http://www.monochromeroad.com/artifacts/gradle/userguide/userguide.html
Jenkinsおじさんともお友達✓Gradleプラグインで簡単にタスクが呼び出せる
http://www.flickr.com/photos/romainguy/783719255/
Groovy使いなら迷わずGradleだよねー
※写真はイメージです
というのは当然ですが
すべてのJava使いは、潜在的なGradleユーザ
AntでXMLベースのタスク記述に疲れた人
http://www.flickr.com/photos/wordridden/3096119086/
※写真はイメージです
http://www.flickr.com/photos/shellache/4731699988/
Mavenの暗黒面に落ちかけている人
�����(*)�1�&�+,'/��!���+," �� �'.0���%���
http://www.flickr.com/photos/turyddu/2682923190/
Gradle
“Gray doll”
It’s good time forFirst Contact with
http://www.flickr.com/photos/psyberartist/5112723654/