Gant就是用Groovy来实现ant,脚本本身的灵活和优雅,使得Gant比直接用Ant存在很多优势。
仅通过一个例子来说明,运行这个例子,需要准备Gant环境,这里不细说了。
创建一个文本文件:BuildTest.gant,内容如下:
//定义两个目录
sourceDirectory = 'source'
buildDirectory = 'build'
//引用一个内置的定义
includeTargets << gant.targets.Clean
//首先执行清除操作
cleanPattern << '**/*~'
cleanDirectory << buildDirectory
//做一个Ant任务定义,后面用这个定义来执行Groovy的编译
Ant.taskdef ( name : 'groovyc' , classname : 'org.codehaus.groovy.ant.Groovyc' )
//定义一个任务
task ( compile : 'Compile source to build directory.' ) {
//创建目录
Ant.mkdir (dir:buildDirectory)
///执行Java编译
Ant.javac ( srcdir : sourceDirectory , destdir : buildDirectory , debug : 'on' )
//执行Groovy编译
Ant.groovyc ( srcdir : sourceDirectory , destdir : buildDirectory )
}
//定义缺省任务
task ( 'default' : 'Default task is compile.' ) { compile () }
对上述例子,熟悉Ant的人一看就知道怎么回事了,比Ant本身的XML语法看起来舒服多了吧。