Groovy AntBuilder build script
7
This example shows a build script written in Groovy using the AntBuilder.
No more angle bracket to bother you!
No more angle bracket to bother you!
def ant = new AntBuilder()
def srcDir = "main/src"
def confDir = "main/src/conf"
def testDir = "main/test"
def libDir = "lib"
def targetDir = "target"
def classesDir = "target/classes"
def classesConfDir = "target/classes/conf"
def testClassesDir = "target/test-classes"
def testReportsDir = "target/test-reports"
ant.sequential {
echo "Creating the output directories"
delete(dir: targetDir)
mkdir(dir: new File(classesDir))
mkdir(dir: new File(classesConfDir))
mkdir(dir: new File(testClassesDir))
mkdir(dir: new File(testReportsDir))
echo "Defining the classpath"
path(id: "path") {
fileset(dir: libDir) {
include(name: "**/*.jar")
}
pathelement(location: classesDir)
pathelement(location: testClassesDir)
}
echo "Copying the configuration resources"
copy(todir: classesConfDir) {
fileset(dir: confDir) {
include(name: "**/*.conf")
}
}
echo "Defining groovyc task"
taskdef(name: "groovyc", classname: "org.codehaus.groovy.ant.Groovyc", classpathref: "path")
echo "Compiling main classes"
groovyc(srcdir: srcDir, destdir: classesDir, classpathref: "path")
echo "Compiling test classes"
groovyc(srcdir: testDir, destdir: testClassesDir, classpathref: "path")
echo "Running tests"
junit(printsummary:"yes", haltonfailure: "yes") {
classpath(refid: "path")
formatter(type: "plain")
batchtest(fork: "yes", todir: testReportsDir) {
fileset(dir: testClassesDir) {
include(name: "**/*Test.*")
}
}
}
}






There are currently no comments for this snippet.