<?xml version="1.0" encoding="UTF-8"?> <!-- Sample build file used to retrieve svnant's sources --> <!-- project name="svn-test" basedir="." default="checkoutThis" --> <project name="memberautobuild" default="member" basedir="./http://www.cnblogs.com/../"> <tstamp> <format property="TODAY" pattern="yyyyMMdd" locale="en"/> </tstamp> <!-- all properties are in build.properties --> <!--<property file="build.properties"/> --> <property name="ant.dir" value="E:\ant\bin" /> <property name="svnant.version" value="1.0.3" /> <!--属性设置 --> <property name="buildversion" value="xxx"/> <property name="work.dir" value="xxx" /> <property name="src.dir" value="${work.dir}"/> <property name="publish.dir" value="${basedir}\${buildversion}"/> <property name="build.dir" value="${work.dir}"/> <property name="devenv.dir" value="E:\xxx\Microsoft Visual Studio 10.0\Common7\IDE"/> <property name="publishfile" value="${buildversion}_${TODAY}.zip" /> <property name="svn.url" value="xxxx"/> <!-- path to the svnant libraries. Usually they will be located in ANT_HOME/lib --> <path id="project.classpath" > <pathelement location="${ant.dir}/lib/svnjavahl.jar"/> <pathelement location="${ant.dir}/lib/svnClientAdapter.jar"/> <pathelement location="${ant.dir}/lib/svnant.jar"/> </path> <!-- load the svn task --> <taskdef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="project.classpath"/> <taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask"> <classpath refid="project.classpath"/> </taskdef> <!--Check out最新代码 --> <target name="checkout" > <mkdir dir="src_member"/> <svn svnkit="true" username="xxx" password="xxx"> <checkout url="${svn.url}" revision="HEAD" destPath="src_member" /> </svn> </target> <!--提交构建版本至构svn库 --> <target name="submit"> <echo message="submit the project to svn ##########################################################################################################"/> <svn svnkit="true" username="xxx" password="xxx" > <import path="${build.dir}\${publishfile}" url="${svn.url}/02执行程序/${publishfile}" message="import ${build.version}" /> </svn> </target> <!--更新工作目录 --> <target name="update"> <echo message="update the source code"/> <svn svnkit="true" username="xxx" password="xxx" > <update dir="${work.dir}"> </update> </svn> </target> <!-- 提交代码 --> <target name="commit"> <echo message="commit the zip file to svn"/> <svn svnkit="true" username="xxx" password="xxx" > <commit dir="${build.dir}" message="commit"> </commit> </svn> </target> <!--删除SVN对应文件 --> <target name="delete"> <echo message="delete file from svn"/> <svn svnkit="true" username="xxx" password="xxx" > <delete url="${svn.url}/02执行程序/${publishfile}" message="delete"> </delete> </svn> </target> <target name="version" > <echo message="${svnant.version}" /> </target> <!--构建过程 --> <echo message="Start auto building #########################################################################################################"/> <target name="xxx" depends="update,compile-member,publish,submit"/> <!--<target name="xxx" depends="submit"/>--> <!--清除相关目录 --> <target name="clean"> <delete dir="src_member"/> <echo>Deleteing: ${publish.dir}</echo> <delete dir="${publish.dir}"/> <echo>Making: ${publish.dir}</echo> <mkdir dir="${publish.dir}"/> </target> <!--编译项目程序 --> <target name="compile-member"> <exec executable="${devenv.dir}\devenv.com"> <arg value="${src.dir}\ClientMgr\ClientMgr.Speical\ClientMgr.Speical.csproj"/> <arg value="/build"/> </exec> </target> <target name="publish"> <echo message="Publish the project ##########################################################################################################"/> <!--复制文件交互应用前台可执行程序到发布目录 --> <copy todir="${publish.dir}/02运行程序/01前台"> <fileset dir="${src.dir}/CAFX"> <exclude name="*.svn"/> <exclude name="*.con"/> <exclude name="*.log"/> </fileset> </copy> <zip destfile="${publish.dir}/02运行程序/01前台/${publishfile}" basedir="${publish.dir}/02运行程序/01前台" excludes="**/*.scc,**/*.lib,**/*.exp,**/*.ilk" /> <copy file="${publish.dir}/02运行程序/01前台/${publishfile}" todir="${build.dir}" /> <delete dir="${publish.dir}/02运行程序/01前台"/> </target> </project>