how about gradle?

Post on 15-Jan-2015

2.683 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

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/

top related