svn check 代码 并且打war包 的 ant例子

<?xml version="1.0" encoding="UTF-8"?>
<project name="AMRApp" default="build" basedir=".">

	<property name="build_resource.dir" value="." />
	<property name="work.space" value="./amr_build_workspace" />
	<property name="svn-url-root" value="svn://10.10.124.90/SouceCode" />
	<property name="svn-url-amr" value="${svn-url-root}/AMR" />
	<property name="svnant.lib.dir" value="${build_resource.dir}/svnant" />
	<property name="svn.username" value="amrbuild" />
	<property name="svn.password" value="amr789" />
	<property name="j2ee6.dir" value="${build_resource.dir}/J2EE6" />
	<property name="j2ee5.dir" value="${build_resource.dir}/J2EE5" />
	<property name="jboss6.client.dir" value="${build_resource.dir}/JBOSS6.1_client" />

	<!-- compile -->
	<macrodef name="compile" description="Compile Java Files">
		<attribute name="configDir" />
		<attribute name="deliveryDir" />
		<sequential>
			<!-- Start to checkout from svn -->
			<svn username="${svn.username}" password="${svn.password}" javahl="false">
				<checkout url="${svn-url-amr}/AMRI" destPath="${work.space}/AMRI" />
			</svn>
			<svn username="${svn.username}" password="${svn.password}" javahl="false">
				<checkout url="${svn-url-amr}/AMRApp" destPath="${work.space}/AMRApp" />
			</svn>
			<svn username="${svn.username}" password="${svn.password}" javahl="false">
				<checkout url="${svn-url-amr}/AMREar" destPath="${work.space}/AMREar" />
			</svn>
			
			<svn username="${svn.username}" password="${svn.password}" javahl="false">
				<checkout url="${svn-url-amr}/AMRWeb" destPath="${work.space}/AMRWeb" />
			</svn>
			<svn username="${svn.username}" password="${svn.password}" javahl="false">
				<checkout url="${svn-url-amr}/AMRScheduler" destPath="${work.space}/AMRScheduler" />
			</svn>
			
			<!--
			<svn username="${svn.username}" password="${svn.password}" javahl="false">
				<checkout url="${svn-url-root}/branches/AMR_ACE_Common/ACE" destPath="${work.space}/ACE" />
			</svn>
			-->
			<!-- Start to build AMRI -->
			<delete dir="${work.space}/AMRI/classes" />
			<mkdir dir="${work.space}/AMRI/classes" />
			<javac destdir="${work.space}/AMRI/classes" debug="true" deprecation="false" optimize="false" failοnerrοr="true" encoding="UTF-8">
				<src path="${work.space}/AMRI/src" />
				<src path="${work.space}/AMRI/src_utils" />
				<classpath>
					<fileset dir="${work.space}/AMREar/lib">
						<include name="**/*.jar" />
					</fileset>
					<fileset dir="${j2ee6.dir}">
						<include name="**/*.jar" />
					</fileset>
					<fileset dir="${jboss6.client.dir}">
						<include name="**/*.jar" />
					</fileset>
				</classpath>
			</javac>
			<delete dir="${work.space}/@{deliveryDir}/AMRI.jar" />
			<jar destfile="${work.space}/@{deliveryDir}/AMRI.jar" basedir="${work.space}/AMRI/classes">
			</jar>
			
			
			<!-- Start to build AMRApp -->
			<mkdir dir="${work.space}/@{deliveryDir}/107/amrConfig" />
			<mkdir dir="${work.space}/@{deliveryDir}/108/amrConfig" />

			<!-- copy env for 107 server-->
			<copy todir="${work.space}/@{deliveryDir}/107/amrConfig" overwrite="true">
				<fileset dir="${work.space}/AMRApp/@{configDir}">
					<include name="**/*.xml" />
					<include name="**/*.properties" />
					<exclude name="**/for107/**" />
					<exclude name="**/for108/**" />
				</fileset>
				<fileset dir="${work.space}/AMRApp/@{configDir}/for107">
					<include name="**/*.xml" />
					<include name="**/*.properties" />
				</fileset>
			</copy>
			<!-- copy env for 108 server-->
			<copy todir="${work.space}/@{deliveryDir}/108/amrConfig" overwrite="true">
				<fileset dir="${work.space}/AMRApp/@{configDir}">
					<include name="**/*.xml" />
					<include name="**/*.properties" />
					<exclude name="**/for107/**" />
					<exclude name="**/for108/**" />
				</fileset>
				<fileset dir="${work.space}/AMRApp/@{configDir}/for108">
					<include name="**/*.xml" />
					<include name="**/*.properties" />
				</fileset>
			</copy>
			
			
			<delete dir="${work.space}/AMRApp/classes" />
			<mkdir dir="${work.space}/AMRApp/classes" />
			<javac destdir="${work.space}/AMRApp/classes" debug="true" deprecation="false" optimize="false" failοnerrοr="true" encoding="UTF-8">
				<src path="${work.space}/AMRApp/src" />
				<src path="${work.space}/AMRApp/src_entity" />
				<classpath>
					<fileset dir="${work.space}/AMREar/lib">
						<include name="**/*.jar" />
					</fileset>
					<fileset dir="${work.space}/@{deliveryDir}">
						<include name="AMRI.jar" />
					</fileset>
					<fileset dir="${j2ee6.dir}">
						<include name="**/*.jar" />
					</fileset>
					<fileset dir="${jboss6.client.dir}">
						<include name="**/*.jar" />
					</fileset>
				</classpath>
			</javac>
			<copy todir="${work.space}/AMRApp/classes">
				<fileset dir="${work.space}/AMRApp/@{configDir}">
					<include name="**/*.xml" />
					<include name="**/*.properties" />
					<exclude name="**/for107/**" />
					<exclude name="**/for108/**" />
				</fileset>
			</copy>

			<copy todir="${work.space}/AMRApp/classes">
				<fileset dir="${work.space}/AMRApp/src">
					<include name="**/*.xml" />
					<include name="**/*.properties" />
					<include name="**/*.cer" />
					<include name="**/*.jks" />
				</fileset>
			</copy>
			<copy todir="${work.space}/AMRApp/classes">
				<fileset dir="${work.space}/AMRApp/src_entity">
					<include name="**/*.xml" />
					<include name="**/*.properties" />
				</fileset>
			</copy>

			<!-- overwrite env for 107 server -->
			<copy todir="${work.space}/AMRApp/classes" overwrite="true">
				<fileset dir="${work.space}/AMRApp/@{configDir}/for107">
					<include name="**/*.xml" />
					<include name="**/*.properties" />
				</fileset>
			</copy>


			<delete dir="${work.space}/@{deliveryDir}/AMRApp.jar" />
			<jar destfile="${work.space}/@{deliveryDir}/AMRApp.jar" basedir="${work.space}/AMRApp/classes">
			</jar>
			<!-- Start to build AMREar -->
			<copy todir="${work.space}/AMREar/lib">
				<fileset dir="${work.space}/@{deliveryDir}">
					<include name="AMRI.jar" />
				</fileset>
			</copy>
			<copy todir="${work.space}/AMREar">
				<fileset dir="${work.space}/@{deliveryDir}">
					<include name="AMRApp.jar" />
				</fileset>
			</copy>
			<delete dir="${work.space}/@{deliveryDir}/107/AMREar.ear" />
			<ear destfile="${work.space}/@{deliveryDir}/107/AMREar.ear" appxml="${work.space}/AMREar/META-INF/application.xml">
				<fileset file="${work.space}/AMREar/lib">
					<include name="lib/*.jar" />
				</fileset>
				<fileset dir="${work.space}/AMREar">
					<include name="AMRApp.jar" />
				</fileset>
			</ear>


			<!-- overwrite env for 108 server -->
			<copy todir="${work.space}/AMRApp/classes" overwrite="true">
				<fileset dir="${work.space}/AMRApp/@{configDir}/for108">
					<include name="**/*.xml" />
					<include name="**/*.properties" />
				</fileset>
			</copy>

			<delete dir="${work.space}/@{deliveryDir}/AMRApp.jar" />
			<jar destfile="${work.space}/@{deliveryDir}/AMRApp.jar" basedir="${work.space}/AMRApp/classes">
			</jar>
			<!-- Start to build AMREar -->
			<copy todir="${work.space}/AMREar/lib">
				<fileset dir="${work.space}/@{deliveryDir}">
					<include name="AMRI.jar" />
				</fileset>
			</copy>
			<copy todir="${work.space}/AMREar">
				<fileset dir="${work.space}/@{deliveryDir}">
					<include name="AMRApp.jar" />
				</fileset>
			</copy>
			<delete dir="${work.space}/@{deliveryDir}/108/AMREar.ear" />
			<ear destfile="${work.space}/@{deliveryDir}/108/AMREar.ear" appxml="${work.space}/AMREar/META-INF/application.xml">
				<fileset file="${work.space}/AMREar/lib">
					<include name="lib/*.jar" />
				</fileset>
				<fileset dir="${work.space}/AMREar">
					<include name="AMRApp.jar" />
				</fileset>
			</ear>

			<!-- Start to build AMRWeb -->
			
			<copy todir="${work.space}/AMRWeb/WebRoot/WEB-INF/lib">
				<fileset dir="${work.space}/@{deliveryDir}">
					<include name="AMRI.jar" />
				</fileset>
				<fileset dir="${jboss6.client.dir}">
					<include name="**/*.jar" />
					<exclude name="jboss-jsp-api_2.2*.jar" />
					<exclude name="jboss-el-api*.jar" />
				</fileset>
			</copy>
			<delete dir="${work.space}/AMRWeb/WebRoot/WEB-INF/classes" />
			<mkdir dir="${work.space}/AMRWeb/WebRoot/WEB-INF/classes" />
			<javac destdir="${work.space}/AMRWeb/WebRoot/WEB-INF/classes" debug="true" deprecation="false" optimize="false" failοnerrοr="true" encoding="UTF-8">
				<src path="${work.space}/AMRWeb/src" />
				<src path="${work.space}/AMRWeb/ws_sso_client" />
				<classpath>
					<fileset dir="${work.space}/AMRWeb/WebRoot/WEB-INF/lib">
						<include name="**/*.jar" />
					</fileset>
					<fileset dir="${j2ee6.dir}">
						<include name="**/*.jar" />
					</fileset>
				</classpath>
			</javac>
			<copy todir="${work.space}/AMRWeb/WebRoot/WEB-INF/classes">
				<fileset dir="${work.space}/AMRWeb/src">
					<include name="**/*.xml" />
					<include name="**/*.properties" />
					<include name="**/*.wsdl" />
					<include name="**/*.cer" />
				</fileset>
				<fileset dir="${work.space}/AMRWeb/ws_sso_client">
					<include name="**/*.xml" />
					<include name="**/*.properties" />
					<include name="**/*.wsdl" />
					<include name="**/*.xsd" />
				</fileset>
				<fileset dir="${work.space}/AMRWeb/@{configDir}">
					<include name="**/*.xml" />
					<include name="**/*.properties" />
					<include name="**/*.wsdl" />
					<include name="**/*.cer" />
				</fileset>
			</copy>

			<delete dir="${work.space}/@{deliveryDir}/AMRWeb.war" />
			<war warfile="${work.space}/@{deliveryDir}/AMRWeb.war" webxml="${work.space}/AMRWeb/WebRoot/WEB-INF/web.xml">
				<fileset dir="${work.space}/AMRWeb/WebRoot">
				</fileset>
			</war>
			
			
			
			<!-- Start to build AMRScheduler -->
			
			<copy todir="${work.space}/AMRScheduler/WebRoot/WEB-INF/lib">
				<fileset dir="${work.space}/@{deliveryDir}">
					<include name="AMRI.jar" />
				</fileset>
				<fileset dir="${jboss6.client.dir}">
					<include name="**/*.jar" />
					<exclude name="jboss-jsp-api_2.2*.jar" />
					<exclude name="jboss-el-api*.jar" />
					<exclude name="hibernate*.jar"/>
					<exclude name="jbossws*.jar"/>
					<exclude name="wsdl4j.jar"/>
					<exclude name="cxf-rt-frontend-jaxws.jar"/>
					<exclude name="cxf-rt-ws*.jar"/>
					<exclude name="jboss-jax*.jar"/>
					<exclude name="jaxws*.jar"/>
					<exclude name="jaxb*.jar" />
				</fileset>
			</copy>
			<delete dir="${work.space}/AMRScheduler/WebRoot/WEB-INF/classes" />
			<mkdir dir="${work.space}/AMRScheduler/WebRoot/WEB-INF/classes" />
			<javac destdir="${work.space}/AMRScheduler/WebRoot/WEB-INF/classes" debug="true" deprecation="false" optimize="false" failοnerrοr="true" encoding="UTF-8">
				<src path="${work.space}/AMRScheduler/src" />
				<src path="${work.space}/AMRScheduler/src_ws"/>
				<classpath>
					<fileset dir="${work.space}/AMRScheduler/WebRoot/WEB-INF/lib">
						<include name="**/*.jar" />
					</fileset>
					<fileset dir="${j2ee6.dir}">
						<include name="**/*.jar" />
					</fileset>
				</classpath>
			</javac>
			<copy todir="${work.space}/AMRScheduler/WebRoot/WEB-INF/classes">
				<fileset dir="${work.space}/AMRScheduler/src">
					<include name="**/*.xml" />
					<include name="**/*.properties" />
					<include name="**/*.wsdd" />
					<include name="**/*.wsdl" />
					<include name="**/*.vm" />
					<include name="**/*.jks" />
					<include name="**/*.cer" />
					<include name="**/*.jasper" />
					<include name="**/*.jrxml" />
					<include name="**/*.ftl" />
				</fileset>
				<fileset dir="${work.space}/AMRScheduler/src_ws">
					<include name="**/*.xml" />
					<include name="**/*.properties" />
					<include name="**/*.wsdd" />
					<include name="**/*.wsdl" />
					<include name="**/*.vm" />
					<include name="**/*.jks" />
					<include name="**/*.cer" />
					<include name="**/*.jasper" />
					<include name="**/*.jrxml" />
				</fileset>
				<fileset dir="${work.space}/AMRScheduler/@{configDir}">
					<include name="**/*.xml" />
					<include name="**/*.properties" />
					<include name="**/*.wsdd" />
					<include name="**/*.wsdl" />
					<include name="**/*.vm" />
					<include name="**/*.jks" />
					<include name="**/*.cer" />
					<include name="**/*.jasper" />
					<include name="**/*.jrxml" />
				</fileset>

			</copy>


			<delete dir="${work.space}/@{deliveryDir}/AMRScheduler.war" />
			<war warfile="${work.space}/@{deliveryDir}/AMRScheduler.war" webxml="${work.space}/AMRScheduler/WebRoot/WEB-INF/web.xml">
				<fileset dir="${work.space}/AMRScheduler/WebRoot">
				</fileset>
			</war>
			
			
			<!-- clean workspace -->
			<delete dir="${work.space}/AMRI" />
			<delete dir="${work.space}/AMRApp" />
			<delete dir="${work.space}/AMREar" />
			<delete dir="${work.space}/AMRWeb" />
			<delete dir="${work.space}/AMRScheduler" />
			<delete dir="${work.space}/@{deliveryDir}/AMRI.jar" />
			<delete dir="${work.space}/@{deliveryDir}/AMRApp.jar" />
		</sequential>
	</macrodef>



	<target name="compile.dev" description="Compile Java Files">
		<compile configDir="config_production" deliveryDir="deliverables_for_dev_env" />
	</target>


	<!-- svn -->
	<path id="svnant.lib">
		<fileset dir="${svnant.lib.dir}">
			<include name="*.jar" />
		</fileset>
	</path>

	<taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask" classpathref="svnant.lib" />

	<target name="clean">
		<delete dir="${work.space}" />
	</target>

	<target name="build" depends="clean,compile.dev">
	</target>

</project>


这是一个ant例子。其中包括 svn 下载代码 / 打包 /复制 /删除 / 大家可以借鉴下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值