Gradleでテストしたらcommitする
commit自体はgradle-gitプラグインで一瞬。
import org.ajoberstar.gradle.git.tasks.* buildscript { repositories { mavenCentral() } dependencies { classpath 'org.ajoberstar:gradle-git:0.2.3' } } task commit(type: GitCommit) { message = "こみっとー" }
と build.gradle に書いて gradle commit を叩けばコミットできます*1。やったね!
テストしたらコミットしたい
task commit(dependsOn: test, type: GitCommit) {
message = "こみっとー"
}
これでおk。
……流石に芸が無い。コミットコメントにテスト結果の集計をねじ込もうと思う。ちょっと探してみたけど集計したのが見当たらなかったので自分でカウントするよ。。。。
build.gradle 全文はこんな感じ。
apply plugin: 'java' repositories() { mavenCentral() } dependencies { testCompile 'junit:junit:4.11' } test { ext.msg = ''<<'' ext.res = [testCount:0, successfulTestCount:0, failedTestCount:0, skippedTestCount:0] afterTest { d, r -> res.each { it.value += r."$it.key" } } ignoreFailures = true doLast { msg << "${res.testCount} tests completed" if (res.failedTestCount > 0) msg << ", ${res.failedTestCount} failed" if (res.skippedTestCount > 0) msg << ", ${res.skippedTestCount} skipped" } } import org.ajoberstar.gradle.git.tasks.* buildscript { repositories { mavenCentral() } dependencies { classpath 'org.ajoberstar:gradle-git:0.2.3' } } task add(type: GitAdd) task commit(dependsOn: [clean, test, add], type: GitCommit) { message = test.ext.msg }
もっとスマートにできるはず(´・ω・`)
*1:gitのユーザー名とかはglobalから持ってかれた