Gradleインストール+少し遊んでみる
Gradleで遊んでみた。
なんだかずっとコピペ・・・。
- ここからダウンロード → http://www.gradle.org/
http://dist.codehaus.org/gradle/gradle-0.3-all.zip
ダウンロードしたzipファイルを解凍
- 環境変数設定
解凍先が/opt/gradle-0.3の場合
$ export GRADLE_HOME=/opt/gradle-0.3
- PATHを通す
$ export PATH=$PATH:$GRADLE_HOME/bin
- 動作確認
"gradle -v"で、こんな感じのが出たらOK
$ gradle -v Gradle 0.3 Gradle buildtime: Wednesday, August 20, 2008 11:52:20 PM CEST Groovy 1.5.5 Java 1.5.0_13 JVM 1.5.0_13-119 JVM Vendor: Apple Inc. OS Name: Mac OS X
- 試してみる
ビルドファイル"build.gradle"を作成
//ハローワールド createTask('hello') { println 'ハロー' }
実行!
$ gradle hello Buildfilename: build.gradle ....省略.... ++ Loading Project objects ++ Configuring Project objects Project= : evaluated. ++++ Starting build for primary task 'hello'. Executing: :hello ハロー BUILD SUCCESSFUL Total time: 0.873 secs
デフォルトタスクを指定
defaultTasks "hello" //ハローワールド createTask('hello') { println 'ハロー' }
引数なしで実行!結果は上と同じ.
$ gradle
- いろいろ試してみる。(ソースのみ ※今後詳しく書く)
//デフォルトタスクを(複数)指定 defaultTasks "hello","task2" createTask('hello') { println 'ハロー' } //ダイナミックにタスク定義 4.times { c -> createTask("T_$c") { println "${c}番目のタスク" } } //既存タスクの前に処理を追加したり・・ task('hello').doFirst { println 'helloタスクの前!' } //既存タスクの後に処理を追加したり・・ task('hello').doLast { println 'helloタスクの後!' } //task('')書かなくても、こんな感じにショートカットもできる。 hello.doLast { println 'helloタスクの後の後!' } //DAG (Directed Acyclic Graph 無閉路有向グラフ) message='' createTask('task0') {task, dag -> //task2を持ってるか確認 if(dag.hasTask(':task2')){ message = 'task2を通ったよ' }else{ message = '(wow)' } println message } //task1→task0に依存 createTask('task1', dependsOn: 'task0') { println 'task1実行' } //task2→task1に依存なので更にtask0も依存 createTask('task2', dependsOn: 'task1') { println 'task2実行' }