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包內包含詳細的說明文檔。