gradleコマンドは、いくつかのファイルを暗黙的に使ってビルドを行います。
(antのbuild.xmlやmavenのpom.xmlと同じですね。)
gradleが使うファイルには下記のようなものがあります。
- build.gradle ・・・ メインのビルドスクリプトです。
- settings.gradle ・・・ 設定ファイルです。プロジェクトツリーを定義します。マルチプロジェクトの場合必ず必要となります。
- gradle.properties ・・・ プロパティを設定します。ここで設定したプロパティはbuild.gradleから参照することができます。
gradleはカレント・ディレクトリからbuild.gradleを探し、このファイルを参照してプロジェクトのビルドを行います。
つまり、build.gradleのおいてあるディレクトリでgradleコマンドを実行してあげないといけないということですね。
build.gradleにはビルドタスクを記述します。
apply plugin: 'android'
android {
compileSdkVersion 'Google Inc.:Google APIs:16'
buildToolsVersion "16.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 16
}
sourceSets {
main {
manifest.srcFile 'src/main/AndroidManifest.xml'
java.srcDirs = ['src/main/java']
resources.srcDirs = ['src/main/java']
aidl.srcDirs = ['src/main/java']
renderscript.srcDirs = ['src/main/java']
res.srcDirs = ['src/main/res']
assets.srcDirs = ['assets']
}
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/<type>
debug.setRoot('build/debug')
release.setRoot('build/release')
}
}
上の例では、
1行目でandroidプラグインを使うことを宣言し、
3行目からandroidアプリケーションのビルドタスクを記述しています。
ビルドタスクの内部では
4〜10行目でSDKバージョンを設定し
12行目〜ソースの場所とビルドファイルの出力先について設定しています。
build.gradleにはGroovyスクリプトを記述することができます。
task count {
doLast {
4.times { print "$it " }
}
}
ちなみに、上の例と下の例は全く同じです。上のコードは下のように省略して書くことができます。
task count << {
4.times { print "$it " }
}
今回はbuild.gradleのさわりについて書かせて頂きました。
次回はsettings.gradleについて書きたいと思います。
