<?xml version="1.0"?>
<!-- Ant build.xml file for CS445 project -->
<!-- -->
<!-- Copyright 2003, Mark Craig -->
<!-- -->
<project name="Basic RefEntry Servlet" default="war" basedir=".">
<!-- Generic project properties -->
<property name="project.fullname" value="Basic RefEntry Servlet"/>
<property name="project.version" value="1.0"/>
<property name="project.name" value="refentry"/>
<!-- Source locations for the build -->
<property name="bin.dir" value="bin"/>
<property name="src.dir" value="src"/>
<!-- Destination locations for the build -->
<property name="out.dir" value="."/>
<property name="build.dir" value="${out.dir}/build"/>
<property name="class.dir" value="${build.dir}/classes"/>
<property name="copy.dir" value="${build.dir}/copy"/>
<property name="doc.dir" value="${build.dir}/docs"/>
<property name="serial.dir" value="${build.dir}/serial"/>
<property name="dist.dir" value="${out.dir}/dist"/>
<!-- Initialization target -->
<target name="init">
<tstamp/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dir}/build"/> <!-- For build.xml file, etc.-->
<mkdir dir="${class.dir}"/>
<mkdir dir="${copy.dir}"/>
<mkdir dir="${doc.dir}"/>
<mkdir dir="${doc.dir}/api"/>
<mkdir dir="${serial.dir}"/>
<mkdir dir="${dist.dir}"/>
</target>
<!-- Compile the Java code from ${src.dir} into ${class.dir} -->
<target name="compile" depends="init">
<javac srcdir="${src.dir}" destdir="${class.dir}"/>
</target>
<!-- Compile the Java format wrapper tool -->
<target name="tool" depends="init,compile">
<javac srcdir="${out.dir}" includes="format.java">
<classpath>
<pathelement path="${class.dir}"/>
</classpath>
</javac>
</target>
<!-- Compile the ServletUnit based tests for the finished servlet -->
<target name="servletunit" depends="init">
<javac srcdir="${out.dir}" includes="Test*.java">
<classpath>
<pathelement path="${class.dir}"/>
</classpath>
</javac>
</target>
<!-- Copy the javadoc, sources, and format wrapper -->
<target name="copy" depends="init,servletunit,tool">
<copy file="${out.dir}/docs/install.txt" todir="${doc.dir}"/>
<copy file="${out.dir}/docs/README.txt" todir="${doc.dir}"/>
<copy file="${out.dir}/docs/relnotes.txt" todir="${doc.dir}"/>
<copy file="${out.dir}/docs/project.sgml" todir="${doc.dir}"/>
<copy file="${out.dir}/build.xml" todir="${build.dir}/build"/>
<copy file="${out.dir}/format.class" todir="${build.dir}/build"/>
<copy file="${out.dir}/format.java" todir="${build.dir}/build"/>
<copy file="${out.dir}/TestClient.class" todir="${build.dir}/build"/>
<copy file="${out.dir}/TestClient.java" todir="${build.dir}/build"/>
<copy file="${out.dir}/TestGarbageRequests.class"
todir="${build.dir}/build"/>
<copy file="${out.dir}/TestGarbageRequests.java"
todir="${build.dir}/build"/>
<copy file="${out.dir}/TestOkayRequests.class"
todir="${build.dir}/build"/>
<copy file="${out.dir}/TestOkayRequests.java"
todir="${build.dir}/build"/>
<copy file="${out.dir}/TestThreads.class" todir="${build.dir}/build"/>
<copy file="${out.dir}/TestThreads.java" todir="${build.dir}/build"/>
<copy todir="${copy.dir}">
<fileset dir="${src.dir}"/>
</copy>
</target>
<!-- Serialize the back end and common words -->
<property name="src" value="${src.dir}/conf/refentrys.props"/>
<property name="xsl" value="${src.dir}/conf/xslt.props"/>
<property name="cw" value="${src.dir}/conf/cw.props"/>
<property name="scw" value="${serial.dir}/commonWords"/>
<property name="sbe" value="${serial.dir}/backend"/>
<property name="class.base" value="org.mcraig.cs445.refentry"/>
<target name="serialize" depends="compile">
<java classname="${class.base}.Build" fork="yes" failonerror="true">
<arg
line="-src ${src} -xsl ${xsl} -cw ${cw} -cwOut ${scw} -beOut ${sbe}"
/>
<classpath>
<pathelement path="${class.dir}"/>
<pathelement path="${java.class.path}"/>
</classpath>
</java>
</target>
<!-- Generate the javadoc -->
<target name="javadoc" depends="init">
<javadoc
access="package"
author="true"
destdir="${doc.dir}/api"
sourcepath="${src.dir}"
use="true"
windowtitle="Basic RefEntry Servlet API">
<packageset dir="${src.dir}">
<include name="org/mcraig/cs445/refentry/**"/>
</packageset>
<doctitle><![CDATA[<h1>Basic RefEntry Servlet API</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright © 2002-2003 Mark Craig</i>]]></bottom>
</javadoc>
</target>
<!-- Run the acceptance tests -->
<target name="accept" depends="compile">
<java classname="${class.base}.AcceptanceTest"
failonerror="true" fork="yes">
<classpath>
<pathelement location="${class.dir}"/>
<pathelement path="${java.class.path}"/>
</classpath>
</java>
</target>
<!-- Generate the war file -->
<target name="war" depends="accept,copy,javadoc,serialize">
<war
destfile="${dist.dir}/${project.name}.war"
webxml="${src.dir}/web.xml">
<webinf dir="${serial.dir}"/>
<classes dir="${class.dir}"/>
<zipfileset dir="${doc.dir}" prefix="docs"/>
<zipfileset dir="${copy.dir}" prefix="src"/>
<zipfileset dir="${build.dir}/build"/>
</war>
</target>
<!-- Clean up the build directory -->
<target name="clean">
<delete dir="${build.dir}"/>
<delete><fileset dir="${out.dir}" includes="*.class"/></delete>
</target>
<!-- Clean everything -->
<target name="cleandist" depends="clean">
<delete dir="${dist.dir}"/>
</target>
</project> |