<?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>