ant 脚本

<?xml version="1.0" encoding="UTF-8"?>
<project name="SME Public Builder" basedir="." default="build-all">
	<!--最终生成文件地址-->
	<property name="dist" value="my_dist" />
	<!--编译时class临时保存文件-->
	<property name="class_temp" value="class_temp"/>
	<!--项目名称-->
	<property name="app_name" value="bank"/>
	<!--项目版本号-->
	<loadfile property="version" srcFile="version.txt" encoding="UTF-8"/>
	<!--清理-->
	<target name="clean" >
		<echo message="Current version is: ${version} "/>
		<mkdir dir="${dist}"/>
		<delete quiet="true" dir="${dist}/${version}"/>
		<mkdir dir="${dist}/${version}"/>
	</target>
	
	<!--classpath 路径-->
	<path id="classpath.lib">
		<fileset dir="war/WEB-INF/lib">
			<include name="*.jar"/>
		</fileset>
		<fileset dir="D:/Program Files/apache-tomcat-6.0.30/lib">
			<include name="*.jar"/>
		</fileset>
	</path>
	
	<property name="classpath" value="war/WEB-INF/lib/*.jar"/>
	<!--编译文件-->
	<target name="compile">
		<!--创建临时文件-->
		<mkdir dir="${class_temp}"/>
		<!--编译java文件-->
		<javac srcdir="src/prod" destdir="${class_temp}" classpathref="classpath.lib" debug="on" fork="false" optimize="off" deprecation="off" depend="on" encoding="UTF-8"/>

		<!--将resource等配置文件打包-->
		<copy todir="${class_temp}">
			<fileset dir="resource"/>
		</copy>
	</target>
	
	<!--创建特定环境的jar包-->		
	<target name="create_special_environment_jar" >
		<mkdir dir="${dist}/${version}/${env}"/>
		<delete quiet="true" file="${dist}/${version}/${env}/${app_name}.jar"/>
		<jar destfile="${dist}/${version}/${env}/${app_name}.jar">
			<fileset dir="${class_temp}"/>
			<fileset dir="${config-env}"/>
		</jar>
	</target>

	<!--创建特定环境的war包-->
	<target name="create_special_environment_war">
		<mkdir dir="${dist}/${version}/${env}"/>
		<delete quiet="true" file="${dist}/${version}/${env}/${app_name}.war"/>
		<copy todir="war/WEB-INF/lib" file="${dist}/${version}/${env}/${app_name}.jar"/>
		<war warfile="${dist}/${version}/${env}/${app_name}.war" webxml="war/WEB-INF/web.xml">
			<fileset dir="war">
				<exclude name="**/classes/**/*"/>
				<exclude name="**/.svn/"/>
			</fileset>
			<fileset file="version.txt"/>
		</war>
		<delete quiet="true" file="war/WEB-INF/lib/${app_name}.jar"/>
	</target>

	<!--清除临时文件-->
	<target name="remove_temp_file">
		<delete dir="${class_temp}"/>
	</target>

	<!--同时创建jar、war-->
	<target name="create_jar_war">
		<antcall target="create_special_environment_jar">
			
			<param name="env" value="${env}"/>
			<param name="config-env" value="${config-env}"/>
		</antcall>
		<antcall target="create_special_environment_war">
			<param name="env" value="${env}"/>
			<param name="config-env" value="${config-env}"/>
		</antcall>
	</target>		
	
	<!--创建project-->
	<target name="create_project">
		<antcall target="create_jar_war">
			<param name="env" value="dev"/>
			<param name="config-env" value="dev-config"/>
		</antcall>

		<antcall target="create_jar_war">
			<param name="env" value="config"/>
			<param name="config-env" value="config/test"/>
		</antcall>
	</target>
	
	<target name="build-all">
		<antcall target="clean"/>
		<antcall target="compile"/>
		<antcall target="create_project"/>
		<antcall target="remove_temp_file"/> 
	</target>
	
</project>

猜你喜欢

转载自antlove.iteye.com/blog/1485561
ANT