build.xml

<project name="magic8ball" default="usage" basedir=".">

<property environment="env"/> 
<!--
<property name="build.compiler" value="jikes"/> 
-->
<property name="build.compiler.emacs" value="true"/> 

<target name="usage">
<echo>
You must define RESIN_HOME.
Once you do that, try "ant deploy" and then add this to your resin.conf:

  <server>

    ...

    <!-- The magic8ball port -->
    <port id='' host='*' port='8888'>
      <protocol-factory resin:type="example.Magic8BallProtocol"/>
    </port>


TARGETS
=========

o usage                 this usage information

o deploy                deploy jar in $RESIN_HOME/lib

o dist                  make distribution jar

o compile               compile the magic8ball java files



o clean

</echo>
</target>


<path id="compile.classpath">
  <fileset dir="${env.RESIN_HOME}/lib">
    <include name="**/*.jar" />
  </fileset>
</path>

<property name="srcdir" value="${basedir}/src"/>

<property name="builddir" value="${basedir}/build"/>
<property name="compiledir" value="${builddir}/classes"/>
<property name="distfile" value="${builddir}/${ant.project.name}.jar"/>

<target name="init">
  <fail 
    unless="env.RESIN_HOME"
    message="Environment variable RESIN_HOME must be set."/>
  <tstamp/>
</target>

<target name="compile" depends="init">
  <mkdir dir="${compiledir}"/>

  <!-- compile .java from ${srcdir}  -->
  <javac classpathref="compile.classpath"
    destdir="${compiledir}"
    debug="true">

    <src path="${srcdir}"/>
  </javac>

  <!-- copy *.html from src/ -->
  <copy todir="${builddir}/classes"
        preservelastmodified="true">
    <fileset dir="${srcdir}">
      <include name="**/*.html"/>
    </fileset>
  </copy>
</target>

<target name="dist" depends="compile">
  <mkdir dir="${builddir}"/>

  <!-- jar the files in ${compiledir} -->
  <jar 
    basedir="${compiledir}"
    destfile="${distfile}"
    compress="no"
    index="true"/>
</target>

<target name="deploy" depends="dist">
  <copy 
    file="${distfile}" 
    todir="${env.RESIN_HOME}/lib"
    preservelastmodified="true"/>
</target>

<target name="clean" depends="init">
  <delete includeEmptyDirs="true" quiet="true">
    <fileset dir="${builddir}"/>
  </delete>
  <delete includeEmptyDirs="true" quiet="false">
    <fileset dir="${builddir}"/>
  </delete>
</target>

</project>