gradle使ってみる (1)
ビルドツールっていうんすかね、ちょっと前から気になってたのでドキュメント読みを遂行しつつ勉強していこうかと
インストール
http://gradle.org からパッケージなりをダウンロードしてインストールする。apt-getでもインストール出来るみたいだけど、自分の環境がsun-java6-jdkをベースにしててopenjdk入れたくないのでダウンロードして配置する方向で
んで普通にgradleコマンドを実行して使うんですが、デフォルトだとちょっとウザいメッセージとか出てくるので
alias gradle="gradle -q"
な感じで設定
やってみる
gradleはbuild.gradleっていうのがデフォルトなファイルな模様。-bオプションで使うビルドファイルを指定出来る模様
task hello {
doLast {
println "hello"
}
}
な感じで作っておいて
gradle hello
な感じで「gradle [タスク名]」で実行できる。でdoLastの他にもdoFirstっていうのもある。んまぁそんな感じでビルドファイルを定義していく
ちなみにビルドファイル自体はGroovyスクリプトな模様なので、Groovyな構文とか普通に使える模様
task hello {
doLast {
3.times {
println "hello: $it"
}
}
}
タスクをショートカットする
task hello << {
println "test"
}
な感じでdoLastを定義であればショートカット出来る模様(doFirstが出来るのかは不明)。ちなみに
task hello << {
println "hello"
}
hello.doFirst {
println "first"
}
という風にタスクにdoFirstを突っ込むことも出来る模様
デフォルトタスクを定義
defaultTasksを設定すれば可能らしい
defaultTasks "hello"
task hello << {
println "hello"
}
タスクの依存関係を定義
dependsOnを使って設定可能
task hello << {
println "hello"
}
task hoge(dependsOn: hello) << {
println "hoge"
}
この場合hogeタスクの前にhelloタスクが参照される
org.gradle.api.internal.plugins.DefaultExtraPropertiesExtensionを使う
タスク内で「ext」で設定すればタスクプロパティ的な感じで使える模様
defaultTasks "hoge"
task hello << {
ext.skip = false
}
task hoge(dependsOn: hello) << {
if (!hello.skip) {
println "hello"
}
}
とりあえずはこんな感じっぽい。まだまだ続くgradleタスク編