1、ant本身需要svnant任务插件支持,才能在ant脚本中获取svn中的内容,svnant是subclipse的组件之一,它的URL 是:
http://subclipse.tigris.org/svnant.html
2、这里使用的是svnant-1.1.0-RC2版本,使用前需要将它依赖的类库放在ant安装目录下面的lib目录;
3、要想使用svnant中的任务访问svn的话,首先要定义新的task:
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpath="svnant.jar" /> <!-- 这里就要求svnant.jar在系统classpath中 -->
4、由于是每日构建,需要每天将最新版本的程序更新下来,因此这里使用的是export任务,而不是checkout:
<target name="export" depends="clean">
<!-- 这里将javahl设为true是为了使用纯java实现的svn访问中间层,而不是使用svn的二进制命令行客户端 -->
<svn javahl="true" username="${svn_User}" password="${svn_Password}" failοnerrοr="false">
<!--Get 预算外 File-->
<export srcUrl="${nonbudget-web-root}" destPath="./nonbudget_WebRoot" revision="HEAD" />
</svn>
</target>
5、需要注意的是,export命令也好,checkout命令也好,都不允许将本地目录和svn上一个以上的url关联,也就是说无法将svn上 的两个以上目录的内容导出到本地的一个目录。