Gradleなんとなくわかってきた(その3)
antっぽくしたりスタンドアロンで動くようにしたりと邪道な事をしてきたけど,ここらでgradle本来の使い方でやってみる。なので,プロジェクトのレイアウトから手を加えて,gradleの都合のよい形に直すよ。
#現物はこちら。→ GitHub - masanobuimai/ant-sample-project at e2ef2d17cab61bea2878d73b10ea44e93c28f11c
gradle標準に合わせると「build.gradle
」もずいぶんシンプルになる。基本的に「プラグインの指定/依存ライブラリの指定/オプションの指定」で完了。ようはmavenのpomみたいなもんなんだけど,pomよりマシに見えるのはGradle DSLのお陰なんだろうな。
ちなみに,build.gradle
はこんな感じ。
// apply plugin: 'java' としなくても,以下のようにまとめて書ける apply { plugin 'java' plugin 'war' plugin 'jetty' } // jarファイルの名前 archivesBaseName = 'sample-apps' // javacのオプションに encoding=UTF-8 を追加する [compileJava, compileTestJava]*.options*.encoding = 'UTF-8' // mavenリポジトリを利用する repositories { mavenCentral() } dependencies { testCompile 'junit:junit:4.10' } // checkstyleとfindbugsなどインスペクション系の設定 apply { plugin 'checkstyle' plugin 'findbugs' plugin 'pmd' plugin 'jdepend' } // オプションを一括指定(エラーが出てもチェックを進める) [checkstyleMain, checkstyleTest, findbugsMain, findbugsTest, pmdMain, pmdTest]*.ignoreFailures = true // Coberturaプラグインの設定 // https://github.com/valkolovos/gradle_cobertura/wiki buildscript { apply from: 'https://github.com/valkolovos/gradle_cobertura/raw/master/repo/gradle_cobertura/gradle_cobertura/1.2/coberturainit.gradle' }
特筆すべき点はCoberturaプラグインかな。gradleの標準プラグインにはカバレッジ測定系のものはまだ無いので,自力でなんらかのカバレッジ測定の仕組みを仕込まないといけない(前回のJaCoCoみたいにね)。調べてみるといくつか先達の偉業を知ることができる。たとえば,このあたり。
id:bluepapa32さんのエントリをみて,gradleのタスクのカスタマイズのやり方がわかったので,JaCoCo版を試したワケなんですけどね(完成には至らなかったけど...。
他にも探してみたら「Cobertura Plugin」なんて,そのものズバリなのを見つけたのですよ。
→ Home · valkolovos/gradle_cobertura Wiki · GitHub
せっかくgradle本来の機能を使いまくろう思ってるんで,どうせならbuild.gradle
以外は全部ネットから取ってきたいよね。このCobertura Plugin,graldeのプラグインの勉強にもなるなと思ってチラ見してみたけど,一部Javaのコードとかもあるのね。Groovyだけでプラグイン開発ってできないのかな?その気になったら,ちょっと調べてみよう...。