<project name="Cluster" default="dist" 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="${user.home}/build.properties"/-->

  <!-- Build Defaults -->
  <property name="catalina.build"     location="../.."/>
  <property name="cluster.build"     value="${catalina.home}/modules/cluster/build"/>
  <property name="cluster.dist"     value="${catalina.home}/modules/cluster/dist"/>

    <!-- Construct Catalina classpath -->
  <path id="cluster.classpath">
    <pathelement location="${catalina.build}/server/lib/catalina.jar"/>
    <pathelement location="${catalina.build}/server/lib/tomcat-util.jar"/>
    <pathelement location="${commons-logging.jar}"/>
    <pathelement location="${jmx.jar}"/>
    <pathelement location="${catalina.build}/common/lib/servlet-api.jar"/>
  </path>

    <!-- Source path -->
  <path id="javadoc.sourcepath">
    <pathelement location="src/share"/>
  </path>


  <!-- =================== BUILD: Set compile flags ======================= -->
  <target name="flags">
    <!-- JDK flags -->
    <available property="jdk.1.2.present" classname="java.util.HashMap" />
    <available property="jdk.1.3.present" 
     classname="java.lang.reflect.Proxy" />
    <available property="jdk.1.4.present" classname="java.nio.Buffer" />
  </target>


  <!-- =================== BUILD: Set compile flags ======================= -->
  <target name="flags.display" depends="flags" unless="flags.hide">

    <echo message="--- Build environment for Catalina ---" />

    <echo message="If ${property_name} is displayed, then the property is not set)" />

    <echo message="--- Build options ---" />
    <echo message="full.dist=${full.dist}" />
    <echo message="build.sysclasspath=${build.sysclasspath}" />
    <echo message="compile.debug=${compile.debug}" />
    <echo message="compile.deprecation=${compile.deprecation}" />
    <echo message="compile.optimize=${compile.optimize}" />

    <echo message="--- Ant Flags ---" />
    <echo message="&lt;style&gt; task available (required)=${style.available}" />

    <echo message="--- JDK ---" />
    <echo message="jdk.1.2.present=${jdk.1.2.present}" />
    <echo message="jdk.1.3.present=${jdk.1.3.present}" />
    <echo message="jdk.1.4.present=${jdk.1.4.present}" />

  </target>

  <!-- =================== BUILD: Create Directories ====================== -->
  <target name="build-prepare">
    <mkdir dir="${catalina.build}"/>
    <mkdir dir="${catalina.build}/classes"/>
    <mkdir dir="${cluster.dist}"/>
  </target>




  <!-- ================ BUILD: Compile Catalina Components ================ -->
  
  <target name="build-catalina-cluster" depends="build-prepare">
    <!-- Compile internal server components -->
    <javac srcdir="${basedir}/src/share" destdir="${catalina.build}/classes"
           debug="${compile.debug}" deprecation="${compile.deprecation}"
           optimize="${compile.optimize}"
           excludes="**/CVS/**">
      <classpath refid="cluster.classpath" />
    </javac>
    <copy file="${basedir}/src/share/org/apache/catalina/cluster/LocalStrings.properties"
    	  tofile="${catalina.build}/classes/org/apache/catalina/cluster/LocalStrings.properties"/>
  </target>


  <!-- ================ BUILD: Create Catalina Javadocs =================== -->
  <target name="javadoc">
    <delete dir="${catalina.build}/javadoc"/>
    <mkdir dir="${catalina.build}/javadoc"/>
    <javadoc packagenames="org.apache.catalina.*,org.apache.naming.*"
      classpathref="catalina.classpath"
      sourcepathref="javadoc.sourcepath"
      destdir="${catalina.build}/javadoc"
      author="true"
      version="true"
      windowtitle="Catalina Internal API Documentation"
      doctitle="Catalina API"
      bottom="Copyright &#169; 2000-2002 Apache Software Foundation.  All Rights Reserved."
    />
  </target>


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


  <!-- ==================== BUILD: Rebuild Everything ===================== -->




  <!-- ================ DIST: Create Distribution ========================= -->
  <target name="dist" depends="build-catalina-cluster">
    
    <jar destfile="${cluster.dist}/catalina-cluster.jar"
         basedir="${catalina.build}/classes">
       <include name="org/apache/catalina/cluster/**" />
    </jar>
  </target>

  <!-- ======================== DIST: Clean Directory ===================== -->


  <!-- ====================== Convenient Synonyms ========================= -->


</project>
