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について書きたいと思います。