Antでのbuild.xmlにあたるGraldeのビルドスクリプト(build.gralde)の作成です。
具体的な作り方はGradleのサイトの内容で大半は確認できますので、ここでは完成版を置いておきます。
def defaultEncoding = ‘UTF-8’
apply plugin: ‘java’
apply plugin: ‘findbugs’
apply plugin: ‘checkstyle’
apply plugin: ‘jacoco’
[compileJava, compileTestJava]*.options*.encoding = defaultEncoding
[findbugsMain, findbugsTest]*.ignoreFailures = true
[checkstyleMain, checkstyleTest]*.ignoreFailures = true
sourceSets {
main.java.srcDir ‘src’
test.java.srcDir ‘testsrc’
}
repositories {
ivy {
url "http://tfsba01/ivy_repos"
layout "pattern", {
artifact "[organisation]/[module]/[revision]/jars/[artifact]-[revision].[ext]"
artifact "[organisation]/[module]/[revision]/bundles/[artifact]-[revision].[ext]"
ivy "[organisation]/[module]/[revision]/ivys/ivy-[revision].xml"
}
}
}
dependencies {
testCompile group: ‘junit’, name: ‘junit’, version: ‘4.+’
testCompile group: ‘org.hamcrest’, name: ‘hamcrest-core’, version: ‘1.+’
checkstyle group: ‘com.puppycrawl.tools’, name: ‘checkstyle’, version: ‘6.1.1’
}
jar {
archiveName = ‘GradleSample01.jar’
}
checkstyleMain {
configFile = file(‘./DefinitionFiles/CheckStyle/EditChecks1.xml’)
doLast {
ant.xslt(in: checkstyleMain.reports.xml.destination,
style: new File(‘DefinitionFiles/CheckStyle/checkstyle-simple.xsl’),
out: new File(checkstyleMain.reports.xml.destination.parent, ‘main.html’))
}
}
jacoco {
toolVersion = "0.7.2.201409121644"
}
jacocoTestReport {
reports {
xml.enabled false
csv.enabled false
}
}
jacocoTestReport.dependsOn build
test {
jacoco {
append = false
}
}
findbugsMain {
reports {
xml.enabled = false
html.enabled = true
}
}
task checkstyleTest(overwrite: true) << {}
task findbugsTest(overwrite: true) << {}
大雑把にいうと、
・ライブラリのリポジトリを指定
・pluginの指定
・Taskのプロパティを指定
をすれば動かせるイメージです。
各種プラグインが公開されているので、やりたいなと思ったことは基本できそうです。
内容としては、以前に書いた「TFSでJavaのビルド環境構築 in 2012 その1:概要」とほぼ同じ内容ですが、Gradleのほうがすっきりしている感じです。
次は、ビルド定義の作成です。