脚本军火库:使用模板生成文档(2)生成Gradle项目

本文介绍了一种脚本工具cgp,用于生成Gradle/Groovy项目,简化文档创建过程。通过cgp可以定制项目许可、类型、主类及包名等,同时,cgj用于在项目中生成源代码,包括测试代码。cgp和cgj的使用提升了项目初始化和源代码管理的效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在有了cast这个脚本之后,我们就可以自定义各种模板,但是可以想到,对于实际应用而言,模板中的变量可能非常多,因此,我们还需要写其他脚本来简化文档的生成。以下提供一个用于生成Gradle/Groovy项目的工具cgp (create groovy/gradle project),以及在项目中新建源代码的cgj。

首先从google code下载代码,地址:xmeta 如果安装了Mercurial,可以直接执行

hg clone https://xmeta.googlecode.com/hg/ xmeta 

获取项目。

把xmeta/scripts文件夹添加到PATH后,检查groovy和ksh是否安装,如果Ok,则可以通过以下方式创建一个新的gradle项目。

cgp -l apache2 -A -m Foo -p com.yourdomain.whatever Bar

-l apache2 表示采用apache 2.0许可,如果不输则默认为gpl3

-A 表示生成的是一个程序application,而不是一个库library,默认为库

-m Foo 表示指定Foo为该程序的Main-Class,并生成一个Foo.groovy文件

-p 为项目使用的package名称,默认为用户的用户名

Bar则是项目的名称。

cgp还支持其它参数,可以通过cgp -h来查询。

新的项目将被创建在当前文件夹内,名称同项目名称。可以修改其中的build.gradle使之符合自己的需求(当然也可以直接把xmeta/template下的gradle.app和gradle.lib改了,一劳永逸。我使用的gradle脚本没有调用maven的库,因此必须准备本地的groovy和junit等库文件,主要是很多时候出于某种原因很多网络资源会打不开,原因你们懂的)

生成项目以后,可以在项目文件夹的任何位置执行cgj来生成源代码。cgj目前只是一个半成品,预计以后会修改为类似于grails create-domain-class ClassName这样的调用方式。但无论如何,cgj现在已经可以良好运行了。

如果需要新建类com.yourdomain.whatever.Util,可以执行:

# 在Bar/src/main/groovy/com/yourdomain/whatever目录下时
cgj Util class.groovy #生成groovy类
# 在Bar/src/main/groovy/com目录下时,可以使用相对路径
cgj yourdomain.whatever.Util class.groovy
# 也可以在任意位置使用完整路径,或是生成Java代码(而非Groovy)
cgj com.yourdomain.whatever.Util class.java

cgj在生成Util源代码的同时还会在src/test文件下下的对应位置生成名为UtilTest.groovy的单元测试代码。cgj不单可以生成普通类,还可以生成interface、enum、abstract-class等其它代码,当然,也可以在template/java目录下自定义模板。

PS:Google的代码库也好,SourceForge也好,好的时候都很好,但只要国际国内环境一有风吹草动就都不好,唉,它好……我也好。

PS II: 现在回头看看xmeta的代码,发现注释很少,仅有的也很烂。原因一是没有注释的习惯,要慢慢改;二是在写代码的时候切换中英文输入法实在很折腾人,用英文又不会写……

PS III: 最近一个礼拜我一直在eating my own dog food,发现了很多typo,主要是模板里的,慢慢修复吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值