Ant+Subversion总结html
公司使用Subversion替换了用了N年的VSS6.0C,那么公司的ANT打包脚本也须要作相应改变,下面针对这个变动的过程java
作下总结,一直信奉一句话:知识在于沉淀。web
一、ant自己须要svnant任务插件支持,才能在ant脚本中获取svn中的内容,svnant是subclipse的组件之一,它的URL是:svn
http://subclipse.tigris.org/svnant.htmlurl
二、这里使用的是svnant-1.1.0-RC2版本,使用前须要将它依赖的类库放在ant安装目录下面的lib目录;spa
三、要想使用svnant中的任务访问svn的话,首先要定义新的task:插件
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpath="svnant.jar" /> <!-- 这里就要求svnant.jar在系统classpath中 -->命令行
四、因为是每日构建,须要天天将最新版本的程序更新下来,所以这里使用的是export任务,而不是checkout:xml
<target name="export" depends="clean">
<!-- 这里将javahl设为true是为了使用纯java实现的svn访问中间层,而不是使用svn的二进制命令行客户端 -->
<svn javahl="true" username="${svn_User}" password="${svn_Password}" failonerror="false">
<!--Get 预算外 File-->
<export srcUrl="${nonbudget-web-root}" destPath="./nonbudget_WebRoot" revision="HEAD" />
</svn>
</target>htm
五、须要注意的是,export命令也好,checkout命令也好,都不容许将本地目录和svn上一个以上的url关联,也就是说没法将svn上的两个以上目录
的内容导出到本地的一个目录。
六、因为这里是个总结,所以svnant支持的相关任务在这里就不介绍了,svnant包内包含详细的说明文档。