<?xml version="1.0" encoding="GB2312"?>
<project default="dist" basedir=".">
<!-- 主要的系统环境属性 -->
<property environment="env"/><!-- 取得window,unix,linux...的环境变量 -->
<property name="java.home" value="${env.JAVA_HOME}"></property>
<property name="ant.home" value="${env.ANT_HOME}"></property>
<!-- 主要的app环境属性 -->
<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 发布属性)目录中 -->
<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:当构建出错时候是否继续进行,例如被删除的目录不存在-->
<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>
<!-- 构建发布目录 -->
<target name="dist" depends="javadocs">
<!-- copy bin 执行文件,将构建好的东东放到制定目录下 -->
<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>