<project name="webapplication" default="all" >

  <property name="outdir" value="/tmp/app" />

  <target name="init"
          description="initialize the properties.">
    <property name="local_outdir" value="${outdir}/webapps" />
    <property name="lib" value="${outdir}/lib" />
    <property name="dist" value="${outdir}/dist" />

    <property name="build" value="${local_outdir}/webclasses" />
    <property name="meta" value="${local_outdir}/meta" />
    <property name="deploy_resin" value="/resin/webapps" />
    <property name="deploy_tomcat" value="/tomcat/webapps" />
    <property name="build_lib" value="./../lib" />
    <property name="jsdk_lib" value="/resin/lib" />
  </target>

  <target name="clean_deploy" >

    <delete file="${deploy_resin}/hello.war" />
    <delete dir="${deploy_resin}/hello" />
    <delete file="${deploy_tomcat}/hello.war" />
    <delete dir="${deploy_tomcat}/hello" />
  </target>

  <target name="clean" depends="init,clean_deploy"
          description="nettoie le rpertoire de sortie.">
    <delete dir="${local_outdir}" />
    <delete file="${dist}/hello.war" />
  </target>

  <target name="prepare" depends="init"
          description="prpare le rpertoire de sortie.">
    <mkdir dir="${build}" />
    <mkdir dir="${dist}" />
    <mkdir dir="${build_lib}" />
  </target>

  <target name="compile" depends="prepare"
          description="compile le code source.">
    <javac srcdir="./src" destdir="${build}">
      <classpath >

        <fileset dir="${lib}">
          <include name="**/*.jar"/>
        </fileset>

        <fileset dir="${jsdk_lib}">
           <include name="**/*.jar"/>
        </fileset>

        <fileset dir="${build_lib}">
          <include name="**/*.jar"/>
        </fileset>

      </classpath>
    </javac>

  </target>

  <target name="prepare_meta_ejb" if="ejb">
    <filter token="Greeting.class"
        value="xptoolkit.model.GreetingShadow"/>
  </target>

  <target name="prepare_meta_noejb" unless="ejb">
    <filter token="Greeting.class"
      value="xptoolkit.model.GreetingBean"/>
  </target>

  <target name="prepare_meta"
      depends="prepare_meta_ejb, prepare_meta_noejb">
    <copy todir="${meta}" filtering="true">
      <fileset dir="./meta-data"/>
    </copy>
  </target>

  <target name="package" depends="compile">

    <mkdir dir="${meta}" />

    <antcall target="prepare_meta" />

    <war warfile="${dist}/hello.war" webxml="${meta}/web.xml">
  <!--
    Inclure les fichiers html et jsp.
    Insrer les classes du fichier de construction dans le rpertoire de classes
    du fichier war.
  /-->
  <fileset dir="./HTML" />
  <fileset dir="./JSP" />
    <classes dir="${build}" />

      <!-- Inclure l'applet. /-->
    <fileset dir="${lib}" includes="helloapplet.jar" />
  <!-- Inclure tous les fichiers jar  l'exception des ejbeans et de 
  l'applet. Les autres fichiers de construction qui crent des jar doivent tre 
  excuts dans un ordre donn. Nous reviendrons plus tard sur cet aspect.
  /-->
      <lib dir="${lib}" >
        <exclude name="greet-ejbs.jar"/>
        <exclude name="helloapplet.jar"/>
      </lib>
    </war>

  </target>

  <target name="deploy" depends="package">
    <copy file="${dist}/hello.war" todir="${deploy_resin}" />

    <copy file="${dist}/hello.war" todir="${deploy_tomcat}" />
  </target>

  <target name="all" depends="clean,package"
          description="excute toutes les cibles."/>

</project>
