ant

 

<?xml version="1.0" encoding="UTF-8"?>
<project name="Game" default="all" basedir=".">
	<!-- Project -wide settings. All directories are relative to the -->
	<!-- game 的源代码路径 -->
	<property name="src.dir" value="D:/workpaces/java/JGame/src" />
	<!-- engine 的源代码路径 -->
	<property name="engine.dir" value="D:/workpaces/java/JEngine/src" />
	<!-- 外部  jar 库 路径  -->
	<property name="jar.dir" value="D:/jars" />
	<!-- 配置文件路径  -->
	<property name="config.dir" value="D:/workpaces/java/JGame/conf" />
	
	<property name="main.dir" value="${src.dir}" />
	<property name="email.dir" value="${src.dir}/com/email" />
	<!-- Build dicectories -->
	<!--  build main directory  -->
	<property name="build.dir" value="d:/build" />
	<!--  engine.classes -->
	<property name="build.engine.classes" value="${build.dir}/engine" />
	<!--  main.classes -->
	<property name="build.main.classes" value="${build.dir}/main" />
	<!--Modules  classes -->
	<property name="build.email.classes" value="${build.dir}/email" />
	<!-- run jar path 	-->
	<property name="lib.dir" value="${build.dir}/lib" />
	<!-- Global settings -->
	<property name="debug.flag" value="no" />
	<property name="java.lib" value="${java.home}/jre/lib/rt.jar" />
	<target name="copyfile" depends="prepare">
		<!-- copy jar 文件  -->
		<copy todir="${build.dir}/lib" overwrite="true">
			<fileset dir="${jar.dir}">
				<include name="*.jar" />
			</fileset>
		</copy>
		<!-- copy  配置文件  -->
		<copy todir="${build.dir}/conf" overwrite="true">
			<fileset dir="${config.dir}">
				<include name="*.xml" />
			</fileset>
		</copy>
	</target>
	<path id="classpath">
		<fileset dir="${lib.dir}">
			<include name="**/*.jar" />
		</fileset>
	</path>
	<target name="prepare">
		<mkdir dir="${build.dir}" />
		<mkdir dir="${build.lib}" />
	</target>
	<target name="all" depends="engine,main,modules" />
	<!--   creat engine.jar  -->
	<target name="engine" depends="copyfile">
		<mkdir dir="${build.engine.classes}" />
		<javac destdir="${build.engine.classes}" debug="${debug.flag}" deprecation="on">
			<src path="${engine.dir}" />
			<classpath refid="classpath" />
		</javac>
		<echo message="Hello there ,I'm show in engine!" />
		<jar jarfile="${lib.dir}/JEngine.jar" basedir="${build.engine.classes}" />
		<delete dir="${build.engine.classes}" />
	</target>
	<!-- creat main.jar  this is a runing jar -->
	<target name="main">
		<mkdir dir="${build.main.classes}" />
		<javac destdir="${build.main.classes}" debug="${debug.flag}" deprecation="on">
			<src path="${main.dir}" />
			<classpath refid="classpath" />
		</javac>
		<echo message="Hello there ,I'm show in main!" />
		<manifestclasspath property="main.classpath" jarfile="${build.dir}/**.jar">
			<classpath refid="classpath" />
		</manifestclasspath>
		<jar jarfile="${build.dir}/Game.jar" basedir="${build.main.classes}">
			<manifest>
				<attribute name="Main-Class" value="com.core.JTankGame" />
				<attribute name="Class-Path" value="${main.classpath}" />
			</manifest>
		</jar>
		<delete dir="${build.main.classes}" />
	</target>
	<!-- Build the modules  such as  emailModules ,guildModules  -->
	<target name="modules">
		<mkdir dir="${build.email.classes}" />
		<javac destdir="${build.email.classes}/" debug="${debug.flag}" deprecation="on">
			<src path="${email.dir}" />
			<classpath refid="classpath" />
		</javac>
		<jar jarfile="${build.dir}/email.jar" basedir="${build.email.classes}">
		</jar>
		<delete dir="${build.email.classes}" />
	</target>
	
</project>

你可能感兴趣的:(ant)