<?xml version="1.0" encoding="gb2312"?>
<!--//默认调用任务“all”-->
<project default="all">
<!-- //预定义,有程序里面的常量类似。默认路径为应用程序的当前路径。-->
<property name="confDir" location="conf" /> <property name="srcDir" location="src" />
<property name="src_temp" location="src_temp" />
<property name="buildDir" location="classes" />
<property name="distDir" location="release" />
<property name="libDir" location="E:/gftech/library" />
<property name="docDir" location="doc/doc" />
<property name="doc_temp" location="doc_temp"/>
<property name="commonDir" location="E:/gftech/project/common" />
<property name="smpDir" location="E:/gftech/project/smp" />
<property name="project.name" location="数据处理系统" />
<property name="project.version" location="1.0" />
<property name="encoding" location="gb2312" />
<!--
//定义Claspath,指定外部引用的类。其中fileset指定外部包所在的目录,include指定
所要引用的外部包文件,这里指的是该目录下的所有Jar文件-->
<path id="classpath">
<fileset dir="${libDir}">
<include name="**/*.jar" />
</fileset>
</path>
<!--
//初始化任务。通常会在这里创建目录、文件等准备工作,为编译或生成文档做准备
-->
<target name="init">
<tstamp /> <!--//指定时间戳-->
<mkdir dir="${src_temp}" />
<mkdir dir="${buildDir}" />
<mkdir dir="${distDir}" />
<mkdir dir="${doc_temp}" />
<delete>
<fileset dir="${distDir}">
<exclude name="**/cvs/*.*" />
<exclude name="**/*.bat"/>
</fileset>
<fileset dir="${docDir}">
<exclude name="**/cvs/*.*" />
</fileset>
</delete>
<copy todir="${src_temp}">
<fileset dir="${srcDir}">
<include name="**/*.java" />
<exclude name="**/test/*.java" />
</fileset>
<fileset dir="${commonDir}/src">
<include name="**/*.java" />
<exclude name="**/test/*.java" />
</fileset>
<fileset dir="${smpDir}/src">
<include name="**/*.java" />
<exclude name="**/test/*.java" />
</fileset>
</copy>
</target>
<!--
//对源文件进行编译,在编译时指定Classpath,并指test目录下的所有java文件排除?
-->
<target name="compile" depends="init">
<javac srcdir="${src_temp}" destdir="${buildDir}"
excludes="**/test/**/*.java">
<classpath refid="classpath" />
</javac>
</target>
<!-- //生成Javadoc文档-->
<target name="doc" depends="init" description="auto generate document">
<javadoc packagenames="*" destdir="${doc_temp}"
sourcepath="${src_temp}" author="true" version="true" use="true"
splitindex="true" windowtitle="自然语言查询演示系统API文档">
<classpath refid="classpath" />
<docTitle>
<![CDATA[
<h1>自然语言查询演示系统(build${DSTAMP})</h1> ]]>
</doctitle>
<bottom>
<![CDATA[ <div algin="center">Copyright © 2006
www.pushget.com, All Rights Reserved.</div>]]>
</bottom>
</javadoc>
</target>
<!--//打包生成Jar文件-->
<target name="jar" depends="compile">
<jar destfile="${distDir}/dh.jar" basedir="${buildDir}">
<!--
//指定Manifest文件的创建者、公司和运行时的主类(这个最关键?
?->
<manifest>
<attribute name="Built-By" value="sinboy" />
<attribute name="Company" value="PUSHGET.Inc" />
<attribute name="Main-Class"
value="com.gftech.biz.dh.DHMain" />
</manifest>
<!--
//指定要和生成的Jar文件打包到一块的外部引用包。这样生成的Jar文件不但包括本身的类
文件,也包括外部引用的类文件,它的一个最大好处就是,放到任何地方不需要再配置外部
引用包,就可直接运行,使用起来比较方便,不用担心考来考去时丢文件
-->
<zipfileset src="${libDir}/classes12.jar" />
<zipfileset src="${libDir}/commons-collections-3.1.jar" />
<zipfileset src="${libDir}/commons-lang-2.1.jar" />
<zipfileset src="${libDir}/log4j-1.2.12.jar" />
<zipfileset src="${libDir}/jdom.jar" />
<zipfileset src="${libDir}/comm.jar"/>
<zipfileset src="${libDir}/derby.jar"/>
<zipfileset src="${libDir}/derbytools.jar"/>
<zipfileset src="${libDir}/jamon.jar"/>
</jar>
<!--//把源文件进行打包-->
<jar destfile="${distDir}/dh-src-${DSTAMP}.jar"
basedir="${src_temp}" />
</target>
<!--布署。在这里是生成一个完全可以独立运行的文件包-->
<target name="deploy">
<copy todir="${docDir}">
<fileset dir="${doc_temp}">
<include name="**/*" />
</fileset>
</copy>
<mkdir dir="${distDir}/dh" />
<mkdir dir="${distDir}/dh/conf"/>
<mkdir dir="${distDir}/dh/database"/>
<mkdir dir="${distDir}/dh/test"/>
<copy file="${distDir}/dh.jar" todir="${distDir}/dh" />
<copy todir="${distDir}/dh/conf">
<fileset dir="${confDir}">
<exclude name="**/*"/>
</fileset>
</copy>
<copy todir="${distDir}/dh/database">
<fileset dir="database">
<exclude name="**/cvs/*"/>
</fileset>
</copy>
<copy todir="${distDir}/dh/test">
<fileset dir="test">
<exclude name="**/cvs/*"/>
</fileset>
</copy>
<copy file="win32com.dll" todir="${distDir}/dh"/>
<copy file="javax.comm.properties" todir="${distDir}/dh"/>
<zip destfile="${distDir}/dhDemo.rar">
<fileset dir="${distDir}/dh">
<exclude name="**/cvs/*"/>
</fileset>
</zip>
</target>
<!--把临时文件清除掉-->
<target name="clean" description="clean classes dir">
<delete dir="${src_temp}" />
<delete dir="${buildDir}" />
<delete dir="${doc_temp}" />
</target>
<!--
指定任务all依赖的其他任务。Ant会自动根据依赖关系,从最先被依赖的任务开始起执
行-->
<target name="all" depends="jar,deploy,clean " description="complete all target" />
</project>