<?xml version="1.0" encoding="GB2312"?>
<project default="dist" basedir=".">
<!-- 主要的系統(tǒng)環(huán)境屬性 -->
<property environment="env"/><!-- 取得window,unix,linux...的環(huán)境變量 -->
<property name="java.home" value="${env.JAVA_HOME}"></property>
<property name="ant.home" value="${env.ANT_HOME}"></property>
<!-- 主要的app環(huán)境屬性 -->
<property name="app.name" value="Ant_Test2"></property>
<property name="app.jar" value="${app.name}.jar"></property>
<property name="app.copyright" value="Copyright(c) 2006 LuckyStar.All rights reserved."></property>
<!-- app中的src屬性 -->
<property name="src.dir" value="src"></property>
<property name="src.main" value="${src.dir}/main"></property>
<property name="src.script" value="${src.dir}/script"></property>
<!-- app用到的lib -->
<property name="lib.dir" value="lib"></property>
<!-- app的build目錄中 -->
<property name="build.dir" value="build"></property>
<property name="build.classes" value="${build.dir}/classes"></property>
<property name="build.docs" value="${build.dir}/docs"></property>
<property name="build.docs.api" value="${build.docs}/api"></property>
<property name="build.lib" value="${build.dir}/lib"></property>
<!-- app的dist(distribution 發(fā)布屬性)目錄中 -->
<property name="dist.dir" value="dist"></property>
<property name="dist.bin" value="${dist.dir}/bin"></property>
<property name="dist.docs" value="${dist.dir}/docs"></property>
<property name="dist.lib" value="${dist.dir}/lib"></property>
<!-- app的docs目錄中 -->
<property name="docs.dir" value="docs"></property>
<path id="classpath">
<pathelement location="${build.classes}"/>
<pathelement path="${java.home}/lib/tools.jar"/>
</path>
<!-- 初始化 -->
<target name="init">
<!-- 清除以前目錄 failonerror:當構建出錯時候是否繼續(xù)進行,例如被刪除的目錄不存在-->
<delete dir="${build.dir}" failonerror="false"/>
<delete dir="${dist.dir}" failonerror="false"/>
<!-- 準備目錄 -->
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.classes}"/>
<mkdir dir="${build.docs}"/>
<mkdir dir="${build.docs.api}"/>
<mkdir dir="${build.lib}"/>
<mkdir dir="${dist.dir}"/>
<mkdir dir="${dist.bin}"/>
<mkdir dir="${dist.lib}"/>
<mkdir dir="${docs.dir}"/>
<mkdir dir="${src.script}"/>
</target>
<!-- 編譯 depends:依賴-->
<target name="build" depends="init">
<!-- 到${src.main}下面找java文件進行編譯,然后放到${build.classes} -->
<javac srcdir="${src.main}" destdir="${build.classes}">
<!-- 引用定義的路徑 -->
<classpath refid="classpath"/>
</javac>
</target>
<!-- 打包 -->
<target name="jars" depends="build">
<jar basedir="${build.classes}" jarfile="${build.lib}/${app.jar}"/>
</target>
<!-- 生成doc文檔 -->
<target name="javadocs" depends="jars" description="-->creates the API documentation">
<!-- copy docs 手冊... -->
<copy todir="${build.docs}">
<fileset dir="${docs.dir}"/>
</copy>
<!-- 構建javadoc 這里不寫了,eclipse和jbuilder都可以生成 -->
</target>
<!-- 構建發(fā)布目錄 -->
<target name="dist" depends="javadocs">
<!-- copy bin 執(zhí)行文件,將構建好的東東放到制定目錄下 -->
<copy todir="${dist.bin}">
<!-- 講src/script寫的文件copy到${dist.bin}下 -->
<fileset dir="${src.script}"></fileset>
</copy>
<copy todir="${dist.docs}">
<fileset dir="${build.docs}"></fileset>
</copy>
<!-- copy lib 文件 -->
<copy todir="${dist.lib}">
<fileset dir="${build.lib}"></fileset>
</copy>
</target>
</project>