pier        02/05/13 16:26:35

  Modified:    webapp   build.xml
  Log:
  Now, this is how I like it (well indented AND commented).
  
  Revision  Changes    Path
  1.8       +183 -211  jakarta-tomcat-connectors/webapp/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/webapp/build.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- build.xml 13 May 2002 00:18:36 -0000      1.7
  +++ build.xml 13 May 2002 23:26:35 -0000      1.8
  @@ -1,249 +1,221 @@
  -<project name="Webapp" default="compile" basedir=".">
  +<?xml version="1.0"?>
   
  +<project name="Webapp Module" default="all" basedir=".">
   
  -<!--
  -        "Coyote" connector framework for Jakarta Tomcat
  -        $Id: build.xml,v 1.7 2002/05/13 00:18:36 pier Exp $
  --->
  +<!-- === BUILD ENVIRONMENT =============================================== -->
   
  +  <!-- ANT FIX: basedir is alwats relative to build.xml -->
  +  <property name="basedir"        value="${basedir}"/>
  +  <property name="targdir"        value="${user.dir}"/>
   
  -<!-- ========== Initialize Properties ===================================== -->
  +  <!-- The properties file which will override what's written below -->
  +  <property file="${targdir}/build.properties"/>
   
  +  <!-- The WebApp version string -->
  +  <property name="version"        value="unknown"/>
   
  -  <property file="build.properties"/>                <!-- Component local   -->
  -  <property file="../build.properties"/>             <!-- Commons local     -->
  -  <property file="${user.home}/build.properties"/>   <!-- User local        -->
  +  <!-- The layout of the build directory (shared with Makefile(s) -->
  +  <property name="build.home"     value="${targdir}/build"/>
  +  <property name="build.jar"      value="${build.home}/tomcat-warp.jar"/>
  +  <property name="build.classes"  value="${build.home}/classes"/>
  +  <property name="build.docs"     value="${build.home}/docs"/>
  +  <property name="build.javadoc"  value="${build.home}/api-java"/>
   
  +  <!-- The layout of the sources directory -->
  +  <property name="source.home"    value="${basedir}"/>
  +  <property name="source.java"    value="${source.home}/java"/>
  +  <property name="source.docs"    value="${source.home}/docs"/>
   
  -<!-- ========== External Dependencies ===================================== -->
  -
  -
  -  <!-- The directories corresponding to your necessary dependencies -->
  -  <property name="junit.home"              value="/usr/local/junit3.5"/>
  -
  -
  -<!-- ========== Derived Values ============================================ -->
  -
  -
  -  <!-- The locations of necessary jar files -->
  -  <property name="tomcat-util.jar"  value="../util/build/lib/tomcat-util.jar"/>
  -  <property name="junit.jar"        value="${junit.home}/junit.jar"/>
  -
  -
  -<!-- ========== Component Declarations ==================================== -->
  -
  -
  -  <!-- The name of this component -->
  -  <property name="component.name"          value="webapp"/>
  -
  -  <!-- The title of this component -->
  -  <property name="component.title"         value="Webapp"/>
  -
  -  <!-- The current version number of this component -->
  -  <property name="component.version"       value="1.0"/>
  -
  -  <!-- The base directory for compilation targets -->
  -  <property name="build.home"              value="build"/>
  -
  -  <!-- The base directory for component configuration files -->
  -  <property name="conf.home"               value="conf"/>
  -
  -  <!-- The base directory for component sources -->
  -  <property name="source.home"             value="java"/>
  -
  -  <!-- The base directory for unit test sources -->
  -  <property name="test.home"               value="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"/>
  -
  -    <!-- default locations -->
  -    <property name="tomcat33.home" 
  -           location="../../jakarta-tomcat/build/tomcat" />
  -    <property name="catalina.home" 
  -           location="../../jakarta-tomcat-4.0/build" />
  -
  -  <!-- Construct compile classpath -->
  -  <path id="compile.classpath">
  -    <pathelement location="${build.home}/classes"/>
  -    <pathelement location="${tomcat-util.jar}"/>
  +  <!-- Classpath where we need to find stuff (no matter what) -->
  +  <path id="classpath">
  +    <pathelement location="${build.classes.dir}"/>
       <pathelement location="${catalina.home}/server/lib/catalina.jar"/>
       <pathelement location="${catalina.home}/common/lib/servlet.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="${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.TestAll"/>
  -
  -
  -<!-- ========== Detection and Reports ===================================== -->
  -
  +<!-- === PREPARATION AND GLOBAL TASKS ==================================== -->
   
  -    <target name="report-tc4" if="tomcat4.detect" >
  -     <echo message="Tomcat4 detected "  />
  -    </target>
  +  <!--
  +    Prepare the build directory creating all its subdirectories
  +    and check for Tomcat 4 and Xalan in the classpath
  +  -->
  +  <target
  +      name="prepare"
  +      description="Prepare the build tree and check classes">
  +    
  +    <!-- Dump some messages about what we're going to do -->
  +    <echo message="Building ${ant.project.name} (version ${version})"/>
  +    <echo message="- source path: ${basedir}"/>
  +    <echo message="- target path: ${targdir}"/>
   
  -    <target name="report" depends="report-tc4" />
  -
  -
  -<!-- ========== 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">
  +    <!-- Create some directories -->
       <mkdir dir="${build.home}"/>
  -    <mkdir dir="${build.home}/classes"/>
  -    <mkdir dir="${build.home}/conf"/>
  -    <mkdir dir="${build.home}/docs"/>
  -    <mkdir dir="${build.home}/docs/api-java"/>
  -    <mkdir dir="${build.home}/lib"/>
  -    <mkdir dir="${build.home}/tests"/>
  -    <available property="tomcat4.detect" 
file="${catalina.home}/server/lib/catalina.jar" />
  -  </target>
   
  -
  -  <target name="static" depends="prepare"
  -   description="Copy static files to build directory">
  -    <tstamp/>
  -    <!--
  -    <copy  todir="${build.home}/conf" filtering="on">
  -      <fileset dir="${conf.home}" includes="*.MF"/>
  -    </copy>
  -    -->
  -  </target>
  -
  -
  -  <target name="compile"
  -   depends="static,report"
  -   description="Compile Webapp components">
  -    <javac  srcdir="${source.home}"
  -           destdir="${build.home}/classes"
  -             debug="${compile.debug}"
  -       deprecation="${compile.deprecation}"
  -          optimize="${compile.optimize}">
  -      <classpath refid="compile.classpath"/>
  +    <!-- Check if we can find Container class in the classpath -->
  +    <available
  +        property="avail.tomcat"
  +        classname="org.apache.catalina.Container">
  +      <classpath refid="classpath"/>
  +    </available>
  +
  +    <!-- Check if we can find the XSLTProcessor class in the classpath -->
  +    <available
  +        property="avail.xalan"
  +        classname="org.apache.xalan.xslt.Process">
  +      <classpath refid="classpath"/>
  +    </available>
  +  </target>
  +
  +  <!--
  +    Do-everything target: We want to build docs, javadocs, and compile
  +    our sources all in one step...
  +  -->
  +  <target
  +      name="all"
  +      description="Build everything"
  +      depends="compile,docs,javadoc"/>
  +
  +
  +<!-- === COMPILATION TASKS =============================================== -->
  +
  +  <!--
  +    Check if we found the Tomcat 4.0 classes in our classpath and fail
  +    miserably (don't even try to compile) if we didn't.
  +  -->
  +  <target
  +      name="compile.check"
  +      depends="prepare"
  +      description="Fail build if we don't find Tomcat 4.0"
  +      unless="avail.tomcat">
  +    
  +    <!-- Just jump out -->
  +    <fail message="Cannot find Tomcat 4.0 classes"/>
  +  </target>
  +
  +  <!--
  +    Create the directory where classes will be compiled into, then compile
  +    our sources, copy over all non-java files, and build up the final JAR.
  +  -->
  +  <target
  +      name="compile"
  +      depends="compile.check"
  +      description="Compile the WARP connector"
  +      if="avail.tomcat">
  +
  +    <!-- Create the directory where we're going to store the classes -->
  +    <mkdir dir="${build.classes}"/>
  +
  +    <!-- Compile our sources -->
  +    <javac
  +        srcdir="${source.java}"
  +        destdir="${build.classes}">
  +      <classpath refid="classpath"/>
       </javac>
  -    <copy    todir="${build.home}/classes" filtering="on">
  -      <fileset dir="${source.home}" excludes="**/*.java"/>
  -    </copy>
  -    <jar    jarfile="${build.home}/lib/tomcat-warp.jar"
  -            basedir="${build.home}/classes" />
  -  </target>
   
  -
  -  <target name="compile.tests" depends="compile"
  -   description="Compile unit test cases">
  -    <javac  srcdir="${test.home}"
  -           destdir="${build.home}/tests"
  -             debug="${compile.debug}"
  -       deprecation="${compile.deprecation}"
  -          optimize="${compile.optimize}">
  -      <classpath refid="test.classpath"/>
  -    </javac>
  -    <copy    todir="${build.home}/tests" filtering="on">
  -      <fileset dir="${test.home}" excludes="**/*.java"/>
  +    <!-- Copy all non-java files into the target directory -->
  +    <copy
  +        todir="${build.classes}">
  +      <fileset
  +          dir="${source.java}">
  +        <exclude name="**/*.java"/>
  +      </fileset>
       </copy>
  -  </target>
   
  -
  -  <target name="clean"
  -   description="Clean build and distribution directories">
  -    <delete    dir="${build.home}"/>
  +    <!-- Build up our JAR file -->
  +    <jar
  +        jarfile="${build.jar}"
  +        basedir="${build.classes}" />
     </target>
   
   
  -  <target name="all" depends="clean,compile"
  -   description="Clean and compile all components"/>
  -
  -
  -  <target name="javadoc" depends="prepare"
  -   description="Create Java API documentation">
  -    <javadoc sourcepath="${source.home}"
  -                destdir="${build.home}/docs/api-java"
  -           packagenames="org.apache.*"
  -                 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-2002 - Apache Software Foundation">
  -      <classpath refid="compile.classpath"/>
  -    </javadoc>
  -  </target>
  +<!-- === DOCUMENT GENERATION TASKS ======================================= -->
  +
  +  <!--
  +    Check if we found Xalan in our classpath. We require Xalan because it has
  +    some nifty functions that we use throughout the XSLT (and also because
  +    we want people to eat our own food, right?)
  +  -->
  +  <target
  +      name="docs.check"
  +      depends="prepare"
  +      description="Fail if we don't find Xalan"
  +      unless="avail.xalan">
  +    
  +    <!-- Just jump out -->
  +    <fail message="Cannot find the Apache Xalan XSLT processor"/>
  +  </target>
  +
  +  <target
  +      name="docs"
  +      depends="docs.check"
  +      description="Create Documentation">
  +
  +    <!-- Create the directory where we're going to store the docs -->
  +    <mkdir dir="${build.docs}"/>
   
  -  <target name="docs" depends="prepare"
  -   description="Create Documentation">
  -    <copy todir="${build.home}/docs" >
  -      <fileset dir="./docs">
  +    <!-- Add some style to our otherwise  utterly ugly XML files -->
  +    <style
  +        basedir="${source.docs}"
  +        destdir="${build.docs}"
  +        style="${source.docs}/style.xsl"
  +        includes="**.xml"/>
  +
  +    <!-- Copy all relevant (non processed) files from the sources -->
  +    <copy
  +        todir="${build.docs}" >
  +      <fileset dir="${source.docs}">
           <exclude name="**.xml"/>
           <exclude name="**.xsl"/>
           <exclude name="**.idx"/>
           <exclude name="**/images/originals/**"/>
         </fileset>
       </copy>
  -
  -    <style
  -      basedir="./docs"
  -      destdir="${build.home}/docs"
  -      style="./docs/style.xsl"
  -      includes="**.xml"
  -    />
     </target>
   
   
  +<!-- === JAVADOC TASKS =================================================== -->
   
  -<!-- ========== 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>
  +  <!--
  +    Check if we found the Tomcat 4.0 classes in our classpath and echo a
  +    message if we didn't find it (warnings are allright, ugly, but OK).
  +  -->
  +  <target
  +      name="javadoc.check"
  +      depends="prepare"
  +      description="Warn if we didn't find Tomcat 4.0"
  +      unless="avail.tomcat">
  +    
  +    <!-- Just output a simple warning message -->
  +    <echo message="Cannot find Tomcat 4.0. Warnings in JavaDOC are ok"/>
  +  </target>
  +
  +  <!--
  +    Run JavaDOC over our set of java sources.
  +  -->
  +  <target
  +      name="javadoc"
  +      depends="prepare"
  +      description="Create Java API documentation">
  +
  +    <!-- Create the directory where we're going to store the docs -->
  +    <mkdir dir="${build.javadoc}"/>
  +
  +    <!-- Run JavaDoc -->
  +    <javadoc
  +        sourcepath="${source.java}"
  +        destdir="${build.javadoc}"
  +        packagenames="org.apache.catalina.connector.warp"
  +        author="true"
  +        private="false"
  +        version="true"
  +        doctitle="&lt;h1&gt;${component.title}&lt;/h1&gt;"
  +        windowtitle="${component.title} (Version ${component.version})"
  +        bottom="Copyright (c) 2001-2002 - Apache Software Foundation">
  +      <classpath refid="classpath"/>
  +    </javadoc>
     </target>
   
  -
   </project>
  +
  +
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to