Read Sean

Read me, read Sean.
posts - 508, comments - 655, trackbacks - 9, articles - 4

前一篇随笔提到目前计划系统学习Python和Groovy,有什么比实际使用更好的学习途径呢?1年多以前,我曾经在另一篇随笔提到:当ANT不够用时,可以用JRuby+Antwrap,这是一个可行的方案,并且经过了长期实战的考验。不过Groovy可以做的更好(感兴趣的朋友可以和Antwrap版对照一下):

 1 #!/usr/bin/env groovy
 2 
 3 ant = new AntBuilder()
 4 root = ":pserver:cvsuser:password@10.10.10.1/cvsrepo/SampleProduct"
 5 
 6 def checkout() {
 7     ant.cvs(cvsroot:root,command:"checkout -A","package":".",dest:"cvsoriginal",compressionlevel:"9")
 8 }
 9 
10 def update() {
11     ant.cvs(cvsroot:root,command:"update -A -d","package":".",dest:"cvsoriginal",compressionlevel:"9")
12 }
13 
14 def compile(project) {
15     ant.javac(srcdir:"cvsoriginal/$project/src",destdir:"cvsoriginal/$project",target:"1.5",encoding:"GBK")
16     ant.copy(todir:"cvsoriginal/$project") {
17         fileset(dir:"cvsoriginal/$project/src") {
18             exclude(name:"**/*.java")
19         }
20     }
21     ant.jar(destfile:"build/$project.jar",basedir:"cvsoriginal/$project",manifest:"MANIFEST.MF") {
22         exclude(name:"src/**")
23     }
24 }
25 
26 // to actually call your target
27 checkout root
28 

代码更紧凑,与Java的集成更无缝。只需要简单的培训,有Java基础的朋友就能上手,不必再额外学习和习惯Ruby的语法,不用gem install,也不用去monkey-patch个别文件来集成和打包Ant、Antwrap和JRuby,只需要一个groovy-all-x.x.x.jar加上自己的脚本即可轻松搞定。

[2008-08-26 19:25:00 更新] 经过实际环境测试,原来JRuby(1.1)+Antwrap需要24分钟完成的构建,改用Groovy(1.5.6)后,仅需要16分钟,对于需要经常处理构建的项目和产品来说,这8分钟还是相当可观的。



只有注册用户登录后才能发表评论。


网站导航: