<project name="spindent" default="compile" basedir=".">

  <property name="app.name" value="spindent"/>

  <property name="build" value="build"/>

  <property name="gen" value="gen"/>

  <property name="src" value="src"/>

  <property name="doc" value="doc"/>

  <property name="classes" value="classes"/>

  <property name="javadoc" value="jdoc"/>

  <property name="jar" value="${app.name}.jar"/>

  <property name="src.jar" value="${app.name}-src.jar"/>


  <target name="init">

    <javac srcdir="${build}" destdir="${classes}" debug="on" optimize="off" deprecation="on">

      <include name="CallJavaFromAnt.java"/>
      <exclude name="org/**"/>
    </javac>
    <!-- Standard task "javacc" doesn't work for JavaCC 3.0 and Ant 1.5 -->

    <taskdef name="CallJavaFromAnt" classname="CallJavaFromAnt" classpath="${build}"/>
    <uptodate property="generate.notRequired" srcfile="${src}/org/paneris/spindent/Parser.jj" targetfile="${gen}/org/paneris/spindent/Parser.java"/>

  </target>
  <target name="generate" depends="init" unless="generate.notRequired">

    <delete> <fileset dir="${gen}" includes="**/*.j*"/> </delete>
    <CallJavaFromAnt class="javacc" args="-OUTPUT_DIRECTORY=${gen}/org/paneris/spindent ${src}/org/paneris/spindent/Parser.jj"/>

  </target>


  <target name="compile">
    <copy todir="${build}" preservelastmodified="true"> <fileset dir="${src}" includes="**/*.java" /> </copy>
    <copy todir="${build}" preservelastmodified="true"> <fileset dir="${gen}" includes="**/*.java" /> </copy>

    <javac srcdir="${build}" destdir="${classes}" debug="on" optimize="off" deprecation="on">

    </javac>

  </target>

  <target name="all" depends="generate,compile,javadoc,dist"/>
  <target name="javadoc" depends="init">

    <javadoc sourcepath="${build}" packagenames="*" destdir="${javadoc}"/>

  </target>


  <target name="dist">

    <jar jarfile="${jar}" basedir="${classes}" excludes="**/CallJavaFromAnt.class"/>

    <jar jarfile="${src.jar}" basedir="." includes="${src}/**,${gen}/**,${doc}/**,build.xml"/>

    <!--

      <copy todir="www">

      <fileset dir="." includes="*.jar" />

      </copy>

    -->

  </target>

</project>