<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<project name="Coyote" default="compile" basedir=".">


<!--
        "Coyote" connector framework for Jakarta Tomcat
        $Id$
-->


<!-- ========== Initialize Properties ===================================== -->


  <property file="build.properties"/>                <!-- Component local   -->
  <property file="../build.properties"/>             <!-- Commons local     -->
  <property file="${user.home}/build.properties"/>   <!-- User local        -->


<!-- ========== External Dependencies ===================================== -->


  <!-- The directories corresponding to your necessary dependencies -->
  <property name="junit.home"              value="/usr/local/junit3.5"/>

  <!-- Dependencies within jakarta-tomcat-connectors -->
  <property name="util.home" value="../util"/>
  <property name="coyote.home" value="../coyote"/>


<!-- ========== Derived Values ============================================ -->


  <!-- The locations of necessary jar files -->
  <property name="tomcat-util.jar"  value="${util.home}/build/lib/tomcat-util.jar"/>
  <property name="tomcat-jni.jar" value="../jni/dist/tomcat-native-1.0.0.jar" />
  <property name="tomcat-coyote.jar" value="${coyote.home}/build/lib/tomcat-coyote.jar"/>
  <property name="tomcat33-coyote.jar" 
          value="${coyote.home}/build/lib/tomcat33-coyote.jar"/>
  <property name="junit.jar"        value="${junit.home}/junit.jar"/>
  <property name="jmx.jar" location="../lib/mx4j.jar" />
  <property name="commons-modeler.jar" location="../../jakarta-commons/modeler/dist/commons-modeler.jar" />
  <property name="commons-logging.jar" value="../lib/commons-logging.jar" />
  <property name="regexp.jar" value="../lib/jakarta-regexp-1.3.jar" />

<!-- ========== Component Declarations ==================================== -->


  <!-- The name of this component -->
  <property name="component.name"          value="http11"/>

  <!-- The title of this component -->
  <property name="component.title"         value="Coyote HTTP/1.1 Connector"/>

  <!-- The current version number of this component -->
  <property name="component.version"       value="1.0-dev"/>

  <!-- The base directory for compilation targets -->
  <property name="build.home"              value="build"/>

  <!-- The base directory for component configuration files -->
  <property name="conf.home"               value="src/conf"/>

  <!-- The base directory for component sources -->
  <property name="source.home"             value="src/java"/>

  <!-- The base directory for unit test sources -->
  <property name="test.home"               value="src/test"/>

<!-- ========== Compiler Defaults ========================================= -->


  <!-- Should Java compilations set the 'debug' compiler option? -->
  <property name="compile.debug"           value="true"/>

  <!-- Should Java compilations set the 'deprecation' compiler option? -->
  <property name="compile.deprecation"     value="false"/>

  <!-- Should Java compilations set the 'optimize' compiler option? -->
  <property name="compile.optimize"        value="true"/>

  <!-- Construct compile classpath -->
  <path id="compile.classpath">
    <pathelement location="${build.home}/classes"/>
    <pathelement location="${tomcat-util.jar}"/>
    <pathelement location="${tomcat-coyote.jar}"/>
    <pathelement location="${commons-logging.jar}"/>
    <pathelement location="${commons-modeler.jar}"/>
    <pathelement location="${regexp.jar}"/>
    <pathelement location="${jmx.jar}"/>
    <pathelement location="${tomcat-jni.jar}" />
  </path>


<!-- ========== Test Execution Defaults =================================== -->


  <!-- Construct unit test classpath -->
  <path id="test.classpath">
    <pathelement location="${build.home}/classes"/>
    <pathelement location="${build.home}/tests"/>
    <pathelement location="${tomcat-util.jar}"/>
    <pathelement location="${tomcat-coyote.jar}"/>
    <pathelement location="${commons-logging.jar}"/>
    <pathelement location="${junit.jar}"/>
  </path>

  <!-- Should all tests fail if one does? -->
  <property name="test.failonerror"        value="true"/>

  <!-- The test runner to execute -->
  <property name="test.runner"             value="junit.textui.TestRunner"/>
  <property name="test.entry" value="org.apache.coyote.http11.TestAll"/>


<!-- ========== Executable Targets ======================================== -->


  <target name="init"
   description="Initialize and evaluate conditionals">
    <echo message="-------- ${component.title} ${component.version} --------"/>
    <filter  token="name"                  value="${component.name}"/>
    <filter  token="version"               value="${component.version}"/>
  </target>


  <target name="prepare" depends="init"
   description="Prepare build directory">
    <mkdir dir="${build.home}"/>
    <mkdir dir="${build.home}/classes"/>
    <mkdir dir="${build.home}/conf"/>
    <mkdir dir="${build.home}/lib"/>
    <mkdir dir="${build.home}/docs"/>
    <mkdir dir="${build.home}/docs/api"/>
    <mkdir dir="${build.home}/tests"/>
  </target>


  <target name="static" depends="prepare"
   description="Copy static files to build directory">
    <tstamp/>
    <copy  todir="${build.home}/conf" filtering="on" encoding="ISO-8859-1">
      <fileset dir="${conf.home}" includes="*.MF"/>
    </copy>
  </target>


  <target name="javadoc" unless="docs-uptodate"
   description="Create component Javadoc documentation">
    <mkdir dir="${build.home}/docs/api"/>
    <javadoc sourcepath="${source.home}"
                destdir="${build.home}/docs/api"
           packagenames="org.apache.coyote.*"
                 author="true"
                private="true"
                version="true"
               doctitle="&lt;h1&gt;${component.title}&lt;/h1&gt;"
            windowtitle="${component.title} (Version ${component.version})"
                 bottom="Copyright (c) 2001-2012 - Apache Software Foundation">
      <classpath refid="compile.classpath"/>
    </javadoc>
  </target>

  <target name="compile-only" 
          description="Compile shareable components">
    <available property="jdk.1.4.present"   classname="java.lang.CharSequence" />

    <javac  srcdir="${source.home}"
           destdir="${build.home}/classes"
             debug="${compile.debug}"
       deprecation="${compile.deprecation}"
          optimize="${compile.optimize}"
          encoding="ISO-8859-1">
      <exclude name="org\apache\coyote\http11\*Apr*" unless="jdk.1.4.present" />
      <classpath refid="compile.classpath"/>
    </javac>
    <copy    todir="${build.home}/classes" filtering="on" encoding="ISO-8859-1">
      <fileset dir="${source.home}" excludes="**/*.java"/>
    </copy>
    <property name="tomcat-http11.jar" value="${build.home}/lib/tomcat-${component.name}.jar"/>
    <jar    jarfile="${tomcat-http11.jar}"
            basedir="${build.home}/classes"
             manifest="${build.home}/conf/MANIFEST.MF">
      <include name="org/apache/coyote/http11/**"/>
    </jar>
  </target>

  <target name="compile" depends="static,compile-only"
          description="Compile shareable components">
    <jar jarfile="${build.home}/lib/tomcat33-resource.jar"
         basedir="${build.home}/classes" 
         includes="**/*.properties" />
  </target>


  <target name="compile.tests" depends="compile"
   description="Compile unit test cases">
    <javac  srcdir="${test.home}/java"
           destdir="${build.home}/tests"
             debug="${compile.debug}"
       deprecation="${compile.deprecation}"
          optimize="${compile.optimize}"
          encoding="ISO-8859-1">
      <classpath refid="test.classpath"/>
    </javac>
    <copy    todir="${build.home}/tests" filtering="on" encoding="ISO-8859-1">
      <fileset dir="${test.home}" excludes="**/*.java"/>
    </copy>
  </target>


  <target name="clean"
   description="Clean build and distribution directories">
    <delete    dir="${build.home}"/>
    <delete    dir="${dist.home}"/>
  </target>


  <target name="all" depends="clean,compile,compile.tests"
   description="Clean and compile all components"/>


<!-- ========== Unit Test Targets ========================================= -->


  <target name="test"  depends="compile.tests" if="test.entry"
   description="Run all unit test cases">
      <!--
      <junit printsummary="yes" fork="on" haltonfailure="yes">
      	<formatter type="plain" usefile="false"/>
      	<test name="${test.entry}"/>
        <classpath refid="test.classpath"/>
      </junit>
      -->

      <java classname="${test.runner}" fork="yes"
       failonerror="${test.failonerror}">
        <jvmarg value="${java.protocol.handler.pkgs}"/>
        <arg value="${test.entry}"/>
        <classpath refid="test.classpath"/>
      </java>
  </target>


</project>
