当前位置: 代码迷 >> CVS/SVN >> 一个Ant包括联接SVN的详细配置
  详细解决方案

一个Ant包括联接SVN的详细配置

热度:1597   发布时间:2013-02-26 00:00:00.0
一个Ant包括连接SVN的详细配置
我的项目是这样子的,有一个公共的类库,一个开发的项目,从SVN上更新下来发布。

  <?xml version="1.0" encoding="UTF-8"?><!--  author:qiaohq  --><!-- name属性  用于指定project元素的名称。	 default属性  用于指定project默认执行时所执行的target的名称。     basedir属性 用于指定基路径的位置。该属性没有指定时,使用Ant的构件文件的附目录作为基准目录。      --><project name="eisproject" default="compile" basedir="d:/tools/ant">  <!-- 我存放的项目地址 -->           <property name="project" value="d:/work/test/project"></property>  <!-- 存放公共类库项目 --><property name="common" value="d:/work/test/common/src"></property> <!-- 存放lib包的地方--><property name="lib" value="D:/work/localwork/project/webroot/WEB-INF/lib"></property>           <property name="src" value="${project}/src"></property>	   <property name="build" value="${project}/webroot"></property>	   <property name="classpath" value="${project}/webroot/WEB-INF"></property>	   <property environment="myenv"></property>	 <!-- target元素 它为Ant的基本执行单元,它可以包含一个或多个具体的任务。	              多个target可以存在相互依赖关系。它有如下属性:     1)name属性  指定target元素的名称,这个属性在一个project元素中是唯一的。                                            我们可以通过指定target元素的名称来指定某个target。	 2)depends属性   用于描述target之间的依赖关系,若与多个target存在依赖关系时,需要以“,”间隔。	 				Ant会依照depends属性中target出现的顺序依次执行每个target。被依赖的target会先执行。	 3)if属性  用于验证指定的属性是否存在,若不存在,所在target将不会被执行。	 4)unless属性 该属性的功能与if属性的功能正好相反,它也用于验证指定的属性是否存在,	  			      若不存在,所在target将会被执行。	 5)description属性 该属性是关于target功能的简短描述和说明。	  -->	  <!-- 初始化新建 -->	 <target name="init">       <mkdir dir="${build}/WEB-INF/classes"/>     </target>     <!-- ========================= -->	 <!--   target: build           -->	 <!-- ========================= -->	 <target name="clean" depends="init" description="">	    <delete dir="${classpath}/classes/com"></delete>	 </target>	 <target name="copy"  description="烤贝公共类">	        <copy todir="${src}/com">		  <fileset dir="${common}">		  </fileset>		</copy>	 </target>	 <target name="compile" depends="clean,init,checkout,copy"   description="--> compile and jar this component">		<javac srcdir="${src}"   destdir="${classpath}/classes"  debug="on">		   <classpath refid="master-classpath"/>                        <compilerarg value="-Xlint:unchecked -Xlint:deprecation" />		</javac>		<copy todir="${classpath}/classes">		  <fileset dir="${src}">		     <exclude name="**/*.java"/>		  </fileset>		</copy>	 </target>	 <path id="master-classpath" >           <fileset dir="${lib}">               <include name="*.jar" />       </fileset>           <fileset dir="${myenv.CATALINA_HOME}/lib">           <include name="*.jar"/>       </fileset>        </path>    <path id="svnant.dir">		<fileset dir="D:/tools/cruisecontrol-bin-2.8.2/svnant-1.2.1/lib">               <include name="*.jar" />       </fileset> 	</path>	 <taskdef   resource="org/tigris/subversion/svnant/svnantlib.xml"	classpathref="svnant.dir" />	 <!-- 导出svn -->	 <target name="checkout">		 <svn username="test" password="steven" javahl="true">			 <checkout url="https://192.168.249.82/svn/Repository/Project-SIPG ENG-DEPT/src"  revision="HEAD" destPath="${src}" />	         	 <checkout url="https://192.168.249.82/svn/Repository/Project-SIPG ENG-DEPT/webroot"  revision="HEAD" destPath="${build}" />                         <checkout url="https://192.168.249.82/svn/Repository/Project-COM HB Library/src/com"  revision="HEAD" destPath="${common}" />	      </svn>	 </target>	 <!-- 发布 --> 	<target name="buildfile" depends="compile"  description="--> compile and jar this component">		<copy todir="${myenv.CATALINA_HOME}/webapps/project">		  <fileset dir="${build}">		     		  </fileset>		</copy>		<copy todir="${myenv.CATALINA_HOME}/webapps/project/WEB-INF/lib">		  <fileset dir="${lib}">		     		  </fileset>		</copy>			</target>	 <target name="build" depends="compile,init"  description="--> compile and jar this component">		 <war destfile="${myenv.CATALINA_HOME}/webapps/eis.war" webxml="${classpath}/web.xml">			  	<fileset dir="${build}">			  	</fileset>		</war> 		</target>	<target name="tomcat-startup" description="tomcat starting.....">          <exec executable="${myenv.CATALINA_HOME}/bin/startup.bat" spawn="true" vmlauncher="false">          <env key="CATALINA_HOME" value="${myenv.CATALINA_HOME}" />          <arg line="/c start ${myenv.CATALINA_HOME}/bin/startup.bat" />        </exec>          </target>    <target name="tomcat-startdown">      <java jar="${myenv.CATALINA_HOME}/bin/bootstrap.jar" fork="true">          <jvmarg value="-Dcatalina.home=${myenv.CATALINA_HOME}"/>          <arg line="stop"/>      </java>      <waitfor maxwait="5" maxwaitunit="second">          <available file="errors.log"/>      </waitfor>    </target>  <target name="tomcat-restart" >      <antcall target="tomcat-startdown"></antcall>    <antcall target="tomcat-startup"></antcall>  </target>   </project>
  相关解决方案