【转】ANT构建项目时添加版本号

一直用ANT进行项目构建,但在实际应用中,老是为SVN的版本号所困惑。因为当一个应用部署久了出现问题的时候,是否知道构建应用时的SVN版本号会影响DEBUG或更新工作。

 

老的办法我是在ANT脚本上添加一个需要手动输入的SVN版本号标识,然后把这个信息加在构建的包中。

 

这个解决方案的坏处显而易见,就是每次需要手动添加了。今天发现一个比较好的解决方案,可以实现自动添加了,看来ANT还是需要多多学习才行。

 

以下是转载内容

 

 

--------------------------------------

 

我们使用svn和ant,所以就在代码的build脚本中加入了一个target把svn code version生成到一个html文件里面, 并让这个target在每次build的时候都自动执行,这样每次build就把当前的svn版本号生成为html文件并且部署到服务器上,并直接通过url来查看当前环境的代码版本

具体的ant脚本如下

    <target name="generateCodeVersion">
        <exec executable="svn" output="${webroot}/version.html" failοnerrοr="false" failifexecutionfails="false">
            <arg line="info"/>               
        </exec>
    </target>

这个target会在${webroot}下生成一个version.html文件,里面的内容格式如下:

Path: .
URL: http://88.8.888.88/lods/dev_2.0.0
Repository Root: http://10.3.100.78/code
Repository UUID: 465e05aa-64dd-4f22-9bd7-d30a52464735
Revision: 13308
Node Kind: directory
Schedule: normal
Last Changed Author: rainman
Last Changed Rev: 132887
Last Changed Date: 2009-01-26 12:49:03 -0700 (Mon, 26 Jan 2009)

如果你不想暴露你的repository和svn代码库的url, 可以修改ant脚本如下:

    <target name="generateCodeVersion">
        <exec executable="svn" output="${webroot}/version.html" failοnerrοr="false" failifexecutionfails="false">
            <arg line="info"/>    
            <redirector>
                <outputfilterchain>
                    <linecontainsregexp>
                        <regexp pattern="^Revision:"/>
                    </linecontainsregexp>
                    <tokenfilter>
                        <replaceregex pattern="Revision\:\s*" flags="s" replace=""/>
                    </tokenfilter>
                </outputfilterchain>
            </redirector>
        </exec>
    </target>

这样就会只保留Revision号,而不包括其他信息,html里面的内容也就只有13308这个数字了

同样的方法也可以得到svn的tag号,比如1.0,2.0等等

 

转自: http://hi.baidu.com/cnbxj/item/8f06357a2350be366dc37c0f

 

-------------------------

道理比较简单,就是ANT调用外部SVN的命令,然后把svn info返回的信息加到项目内。不过执行的前提条件是,必须把SVN命令在放在环境变量内了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值