Gradleの共通ルーチンをライブラリ化してテストもする

Android Studioで開発していてGradleを書いていると共通ルーチンをライブラリ化したくなるわけですが、そうなると当然テストしたりCIしたりしたいですよね。そこでちょっとやってみました。build.gradleに目的のコードをかき、 test/test.gradle にテストを書くのでいけます。

テストは gradlew で DEFAULT_JVM_OPTS="-ea" したうえで、 ./gradlew -b test/test.gradle check で実行します。原始的ですが、 taskのなかに assert をならべるとそれなりのテストになります。テスト自体は Groovy の power assert が効くので非常にやりやすいです。

cf. https://travis-ci.org/gfx/gradle-android-utils/builds/16637266

> Assertion failed: 
  
  assert v == "hoge"
         | |
         | false
         1.2.30 (1002030)

これで何のためらいもなく複雑なロジックをgradleファイルに書けますね。

方法はわりと原始的なので、もっといい方法があれば教えてください。