<?xml version="1.0"?>

<!-- 
This is the build script for the balancer webapp.
@author Yoav Shapira
-->

<project name="balancer" default="build-main" basedir=".">


  <!-- ===================== Initialize Property Values =================== -->

  <!-- See "build.properties.sample" in the top level directory for all     -->
  <!-- property values you must customize for successful building!!!        -->
  <property file="build.properties"/>
  <property file="../build.properties"/>
  <property file="../../build.properties"/>
  <property file="${user.home}/build.properties"/>

  <property name="build.compiler"  value="modern"/>
  <property name="webapps.build"   value="../build"/>
  <property name="webapps.dist"    value="../dist"/>
  <property name="webapp.name"     value="balancer"/>

  <!-- Dependent JARs and files -->
  <property name="servlet-api.jar" value="${api.home}/jsr154/dist/lib/servlet-api.jar"/>
  <property name="jsp-api.jar"     value="${api.home}/jsr152/dist/lib/jsp-api.jar"/>

  <!-- Compilation classpath -->
  <path id="balancer.classpath">
    <!-- Required by Digester -->
    <pathelement location="${catalina.deploy}/classes"/>
    <pathelement location="${servlet-api.jar}"/>
    <pathelement location="${commons-logging-api.jar}" />
  </path>


  <!-- =================== BUILD: Create Directories ====================== -->
  <target name="build-prepare">
    <mkdir dir="${webapps.build}"/>
    <mkdir dir="${webapps.build}/${webapp.name}"/>
    <mkdir dir="${webapps.build}/${webapp.name}/images"/>
    <mkdir dir="${webapps.build}/${webapp.name}/WEB-INF"/>
    <mkdir dir="${webapps.build}/${webapp.name}/WEB-INF/classes"/>
  </target>


  <!-- ================ BUILD: Copy Static Files ========================== -->
  <target name="build-static" depends="build-prepare">
    <copy todir="${webapps.build}/${webapp.name}">
      <fileset dir=".">
        <exclude name="build.*"/>
      </fileset>
    </copy>
  </target>


  <!-- ================= BUILD: Compile Server Components ================= -->
  <target name="build-main" depends="build-static">

    <javac   srcdir="WEB-INF/classes" 
             destdir="${webapps.build}/${webapp.name}/WEB-INF/classes"
             debug="${compile.debug}" deprecation="${compile.deprecation}"
             optimize="${compile.optimize}"
             excludes="**/CVS/**">
      <classpath refid="balancer.classpath" />
    </javac>

  </target>


  <!-- ==================== BUILD: Rebuild Everything ===================== -->
  <target name="all" depends="build-clean,build-main"
   description="Clean and build balancer webapp"/>


  <!-- ======================= BUILD: Clean Directory ===================== -->
  <target name="build-clean">
    <delete dir="${webapps.build}/${webapp.name}"/>
  </target>


  <!-- ======================= DIST: Create Directories =================== -->
  <target name="dist-prepare">
    <mkdir dir="${webapps.dist}"/>
  </target>


  <!-- ======================= DIST: Create Distribution Files ============ -->
  <target name="dist" depends="build-main,dist-prepare"
   description="Create balancer webapp binary distribution">
      <jar   jarfile="${webapps.dist}/${webapp.name}.war"
             basedir="${webapps.build}/${webapp.name}" includes="**"/>
  </target>


  <!-- ======================= DIST: Clean Directory ====================== -->
  <target name="dist-clean">
    <deltree dir="${dist.dir}/${webapp.name}"/>
  </target>


  <!-- ====================== Convenient Synonyms ========================= -->
  <target name="clean" depends="build-clean,dist-clean"
   description="Clean build and dist directories"/>




</project>
<!-- End build.xml -->






