glenn       01/12/25 17:22:10

  Modified:    catalina build.xml
               catalina/src/bin catalina.bat catalina.sh
               catalina/src/share/org/apache/catalina/startup Catalina.java
               catalina/src/share/org/apache/naming/factory
                        DbcpDataSourceFactory.java ResourceFactory.java
  Log:
  <project name="Catalina" default="deploy" 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="build.compiler"    value="classic"/>
    <property name="catalina.build"    value="${basedir}/build"/>
    <property name="catalina.deploy"   value="${basedir}/../build"/>
    <property name="catalina.dist"     value="${basedir}/dist"/>
    <property name="test.failonerror"  value="true"/>
    <property name="test.runner"       value="junit.textui.TestRunner"/>
    <property name="test.webapp"       value="../webapps/build/examples"/>
    <property name="test.webapp.war"   value="${java.io.tmpdir}/webapp.war"/>
  
    <!-- Construct Catalina classpath -->
    <path id="catalina.classpath">
      <pathelement location="${activation.jar}"/>
      <pathelement location="${commons-beanutils.jar}"/>
      <pathelement location="${commons-collections.jar}"/>
      <pathelement location="${commons-dbcp.jar}"/>
      <pathelement location="${commons-digester.jar}"/>
      <pathelement location="${commons-modeler.jar}"/>
      <pathelement location="${commons-pool.jar}"/>
      <pathelement location="${jaas.jar}"/>
      <pathelement location="${jcert.jar}"/>
      <pathelement location="${jdbc20ext.jar}"/>
      <pathelement location="${jmxri.jar}"/>
      <pathelement location="${jmxtools.jar}"/>
      <pathelement location="${jndi.jar}"/>
      <pathelement location="${jnet.jar}"/>
      <pathelement location="${jsse.jar}"/>
      <pathelement location="${jta.jar}"/>
      <pathelement location="${ldap.jar}"/>
      <pathelement location="${mail.jar}"/>
      <pathelement location="${regexp.jar}"/>
      <pathelement location="${servlet.jar}"/>
      <pathelement location="${tyrex.jar}"/>
      <pathelement location="${xerces.jar}"/>
      <pathelement location="${catalina.build}/server/classes"/>
    </path>
  
    <!-- Construct unit tests classpath -->
    <path id="test.classpath">
      <pathelement location="${junit.jar}"/>
      <pathelement location="${activation.jar}"/>
      <pathelement location="${commons-beanutils.jar}"/>
      <pathelement location="${commons-collections.jar}"/>
      <pathelement location="${commons-dbcp.jar}"/>
      <pathelement location="${commons-digester.jar}"/>
      <pathelement location="${commons-modeler.jar}"/>
      <pathelement location="${commons-pool.jar}"/>
      <pathelement location="${jaas.jar}"/>
      <pathelement location="${jcert.jar}"/>
      <pathelement location="${jdbc20ext.jar}"/>
      <pathelement location="${jmxri.jar}"/>
      <pathelement location="${jmxtools.jar}"/>
      <pathelement location="${jndi.jar}"/>
      <pathelement location="${jnet.jar}"/>
      <pathelement location="${jsse.jar}"/>
      <pathelement location="${jta.jar}"/>
      <pathelement location="${ldap.jar}"/>
      <pathelement location="${mail.jar}"/>
      <pathelement location="${regexp.jar}"/>
      <pathelement location="${servlet.jar}"/>
      <pathelement location="${tyrex.jar}"/>
      <pathelement location="${xerces.jar}"/>
      <pathelement location="${catalina.build}/server/classes"/>
      <pathelement location="${catalina.build}/tests"/>
    </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" />
  
      <!-- Ant flags -->
      <available property="style.available"
       classname="org.apache.tools.ant.taskdefs.optional.TraXLiaison" />
  
      <!-- Class availability flags -->
      <available property="beanutils.present"
       classname="org.apache.commons.beanutils.BeanUtils"
       classpath="${commons-beanutils.jar}"/>
      <available property="collections.present"
       classname="org.apache.commons.collections.FastHashMap"
       classpath="${commons-collections.jar}"/>
      <available property="dbcp.present"
       classname="org.apache.commons.dbcp.ConnectionFactory"
       classpath="${commons-dbcp.jar}"/>
      <available property="digester.present"
       classname="org.apache.commons.digester.Digester"
       classpath="${commons-digester.jar}"/>
      <available property="modeler.present"
       classname="org.apache.commons.modeler.Registry"
       classpath="${commons-modeler.jar}"/>
      <available property="jaas.present"
       classname="javax.security.auth.Subject"
       classpath="${jaas.jar}" />
      <condition property="jaxp.present">
        <and>
          <available classname="javax.xml.parsers.SAXParser"
           classpath="${xerces.jar}" />
          <available classname="org.xml.sax.ContentHandler"
           classpath="${xerces.jar}" />
        </and>
      </condition>
      <condition property="javamail.present">
        <and>
          <available classname="javax.activation.DataSource"
           classpath="${activation.jar}" />
          <available classname="javax.mail.Service"
           classpath="${mail.jar}" />
        </and>
      </condition>
      <available property="jmx.present"
       classname="javax.management.MBeanServer"
       classpath="${jmxri.jar}" />
      <available property="jmxtools.present"
       classname="com.sun.jdmk.Trace"
       classpath="${jmxtools.jar}" />
      <available property="jndi.present"
       classname="javax.naming.Context"
       classpath="${jndi.jar}" />
      <condition property="jsse.present">
        <and>
          <available classname="javax.security.cert.Certificate"
           classpath="${jcert.jar}" />
          <available classname="javax.net.SocketFactory"
           classpath="${jnet.jar}" />
          <available classname="javax.net.ssl.SSLSocket"
           classpath="${jsse.jar}" />
        </and>
      </condition>
      <condition property="jta.present">
        <and>
          <available classname="javax.sql.XADataSource"
           classpath="${jdbc20ext.jar}" />
          <available classname="javax.transaction.UserTransaction"
           classpath="${jta.jar}" />
        </and>
      </condition>
      <available property="junit.present"
       classname="junit.framework.TestCase"
       classpath="${junit.jar}" />
      <available property="ldap.present"
       classname="com.sun.jndi.ldap.LdapClient"
       classpath="${ldap.jar}" />
      <available property="pool.present"
       classname="org.apache.commons.pool.ObjectPool"
       classpath="${commons-pool.jar}"/>
      <available property="regexp.present"
       classname="org.apache.regexp.RE"
       classpath="${regexp.jar}" />
      <available property="servlet.present"
       classname="javax.servlet.Servlet"
       classpath="${servlet.jar}" />
      <available property="tyrex.present"
       classname="tyrex.tm.Tyrex"
       classpath="${tyrex.jar}" />
      <available property="xerces.present"
       classname="org.apache.xerces.parsers.SAXParser"
       classpath="${xerces.jar}" />
  
      <!-- JAR files availability flags -->
      <available property="tomcat-ajp.jar.present" file="${tomcat-ajp.jar}" />
      <available property="dbcp.jar.present" file="${commons-dbcp.jar}" />
      <available property="jaas.jar.present" file="${jaas.jar}" />
      <condition property="javamail.jar.present">
        <and>
          <available file="${activation.jar}" />
          <available file="${mail.jar}" />
        </and>
      </condition>
      <available property="jdbc20ext.jar.present" file="${jdbc20ext.jar}" />
      <available property="jmxri.jar.present" file="${jmxri.jar}" />
      <available property="jmxtools.jar.present" file="${jmxtools.jar}" />
      <available property="jcert.jar.present" file="${jcert.jar}" />
      <available property="jndi.jar.present" file="${jndi.jar}" />
      <available property="jnet.jar.present" file="${jnet.jar}" />
      <available property="jsse.jar.present" file="${jsse.jar}" />
      <available property="jta.jar.present" file="${jta.jar}" />
      <available property="junit.jar.present" file="${junit.jar}" />
      <available property="ldap.jar.present" file="${ldap.jar}" />
      <available property="modeler.jar.present" file="${commons-modeler.jar}" />
      <available property="pool.jar.present" file="${commons-pool.jar}" />
      <available property="regexp.jar.present" file="${regexp.jar}" />
      <available property="servlet.jar.present" file="${servlet.jar}" />
      <available property="tomcat-util.jar.present" file="${tomcat-util.jar}" />
      <available property="tyrex.jar.present" file="${tyrex.jar}" />
      <available property="xerces.jar.present" file="${xerces.jar}" />
  
      <!-- Conditional compilation flags (determined from the flags above) -->
      <condition property="compile.dbcp">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <and>
            <equals arg1="${dbcp.present}" arg2="true" />
            <equals arg1="${pool.present}" arg2="true" />
          </and>
        </or>
      </condition>
      <condition property="compile.jaas">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${jaas.present}" arg2="true" />
        </or>
      </condition>
      <condition property="compile.javamail">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${javamail.present}" arg2="true" />
        </or>
      </condition>
      <condition property="compile.jmx">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <and>
            <equals arg1="${jmx.present}" arg2="true" />
            <equals arg1="${jmxtools.present}" arg2="true" />
            <equals arg1="${modeler.present}" arg2="true" />
          </and>
        </or>
      </condition>
      <condition property="compile.jndi">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${jndi.present}" arg2="true" />
          <equals arg1="${jdk.1.3.present}" arg2="true" />
        </or>
      </condition>
      <condition property="compile.jsse">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${jsse.present}" arg2="true" />
          <equals arg1="${jdk.1.4.present}" arg2="true" />
        </or>
      </condition>
      <condition property="compile.jta">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${jta.present}" arg2="true" />
        </or>
      </condition>
      <condition property="compile.junit">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${junit.present}" arg2="true" />
        </or>
      </condition>
      <condition property="compile.ldap">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${ldap.present}" arg2="true" />
          <equals arg1="${jdk.1.3.present}" arg2="true" />
        </or>
      </condition>
      <property name="compile.ssi" value="true"/>
      <condition property="compile.tyrex">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${tyrex.present}" arg2="true" />
        </or>
      </condition>
  
      <!-- Conditional copy flags (determined from the flags above) -->
      <condition property="copy.tomcat-ajp.jar">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${tomcat-ajp.jar.present}" arg2="true" />
        </or>
      </condition>
      <condition property="copy.dbcp.jar">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${dbcp.present}" arg2="true" />
        </or>
      </condition>
      <condition property="copy.jaas.jar">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <and>
            <equals arg1="${jaas.jar.present}" arg2="true" />
            <not>
              <equals arg1="${jdk.1.4.present}" arg2="true" />
            </not>
          </and>
        </or>
      </condition>
      <condition property="copy.jdbc20ext.jar">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <and>
            <equals arg1="${jdbc20ext.jar.present}" arg2="true" />
            <not>
              <equals arg1="${jdk.1.4.present}" arg2="true" />
            </not>
          </and>
        </or>
      </condition>
      <condition property="copy.jndi.jar">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <and>
            <equals arg1="${jndi.jar.present}" arg2="true" />
            <not>
              <or>
                <equals arg1="${jdk.1.3.present}" arg2="true" />
                <equals arg1="${jdk.1.4.present}" arg2="true" />
              </or>
            </not>
          </and>
        </or>
      </condition>
      <condition property="copy.javamail.jar">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${javamail.jar.present}" arg2="true" />
        </or>
      </condition>
      <condition property="copy.jmxri.jar">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${jmxri.jar.present}" arg2="true" />
        </or>
      </condition>
      <condition property="copy.jmxtools.jar">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${jmxtools.jar.present}" arg2="true" />
        </or>
      </condition>
      <condition property="copy.jta.jar">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${jta.jar.present}" arg2="true" />
        </or>
      </condition>
      <condition property="copy.ldap.jar">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <and>
            <equals arg1="${ldap.jar.present}" arg2="true" />
            <not>
              <or>
                <equals arg1="${jdk.1.3.present}" arg2="true" />
                <equals arg1="${jdk.1.4.present}" arg2="true" />
              </or>
            </not>
          </and>
        </or>
      </condition>
      <condition property="copy.jsse.jar">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <and>
            <equals arg1="${jcert.jar.present}" arg2="true" />
            <equals arg1="${jnet.jar.present}" arg2="true" />
            <equals arg1="${jsse.jar.present}" arg2="true" />
            <not>
              <equals arg1="${jdk.1.4.present}" arg2="true" />
            </not>
          </and>
        </or>
      </condition>
      <condition property="copy.modeler.jar">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${modeler.present}" arg2="true" />
        </or>
      </condition>
      <condition property="copy.pool.jar">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${pool.present}" arg2="true" />
        </or>
      </condition>
      <condition property="copy.tyrex.jar">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <equals arg1="${tyrex.jar.present}" arg2="true" />
        </or>
      </condition>
      <condition property="copy.xerces.jar">
        <or>
          <equals arg1="${full.dist}" arg2="on" />
          <not>
            <equals arg1="${jdk.1.4.present}" arg2="true" />
          </not>
        </or>
      </condition>
  
    </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}" />
  
      <echo message="--- Required Libraries ---" />
      <echo message="beanutils.present=${beanutils.present}" />
      <echo message="collections.present=${collections.present}" />
      <echo message="digester.present=${digester.present}" />
      <echo message="jaxp.present=${jaxp.present}" />
      <echo message="jndi.present=${jndi.present}" />
      <echo message="regexp.present=${regexp.present}" />
      <echo message="servlet.present=${servlet.present}" />
  
      <echo message="--- Optional Libraries ---" />
      <echo message="dbcp.present=${dbcp.present}" />
      <echo message="jaas.present=${jaas.present}" />
      <echo message="javamail.present=${javamail.present}" />
      <echo message="jmx.present=${jmx.present}" />
      <echo message="jmxtools.present=${jmxtools.present}" />
      <echo message="jsse.present=${jsse.present}" />
      <echo message="jta.present=${jta.present}" />
      <echo message="junit.present=${junit.present}" />
      <echo message="ldap.present=${ldap.present}" />
      <echo message="modeler.present=${modeler.present}" />
      <echo message="pool.present=${pool.present}" />
      <echo message="tyrex.present=${tyrex.present}" />
  
      <echo message="--- Required JARs ---" />
      <echo message="jndi.jar.present(except JDK 1.3+)=${jndi.jar.present}" />
      <echo message="regexp.jar.present=${regexp.jar.present}" />
      <echo message="servlet.jar.present=${servlet.jar.present}" />
      <echo message="xerces.jar.present(except JDK 1.4+)=${xerces.jar.present}" />
  
      <echo message="--- Optional JARs ---" />
      <echo message="tomcat-ajp.jar.present=${tomcat-ajp.jar.present}" />
      <echo message="dbcp.jar.present=${dbcp.jar.present}" />
      <echo message="jaas.jar.present=${jaas.jar.present}" />
      <echo message="javamail.jar.present=${javamail.jar.present}" />
      <echo message="jdbc20ext.jar.present=${jdbc20ext.jar.present}" />
      <echo message="jmxri.jar.present=${jmxri.jar.present}" />
      <echo message="jmxtools.jar.present=${jmxtools.jar.present}" />
      <echo message="jta.jar.present=${jta.jar.present}" />
      <echo message="junit.jar.present=${junit.jar.present}" />
      <echo message="ldap.jar.present=${ldap.jar.present}" />
      <echo message="modeler.jar.present=${modeler.jar.present}" />
      <echo message="pool.jar.present=${pool.jar.present}" />
      <echo message="tomcat-util.jar.present=${tomcat-util.jar.present}" />
      <echo message="tyrex.jar.present=${tyrex.jar.present}" />
  
      <echo message="--- Conditional compilation flags ---" />
      <echo message="compile.dbcp=${compile.dbcp}" />
      <echo message="compile.jaas=${compile.jaas}" />
      <echo message="compile.javamail=${compile.javamail}" />
      <echo message="compile.jmx=${compile.jmx}" />
      <echo message="compile.jndi=${compile.jndi}" />
      <echo message="compile.jsse=${compile.jsse}" />
      <echo message="compile.jta=${compile.jta}" />
      <echo message="compile.junit=${compile.junit}" />
      <echo message="compile.ldap=${compile.ldap}" />
      <echo message="compile.ssi=${compile.ssi}" />
      <echo message="compile.tyrex=${compile.tyrex}" />
  
      <echo message="--- Distribution flags ---" />
      <echo message="copy.tomcat-ajp.jar=${copy.tomcat-ajp.jar}" />
      <echo message="copy.dbcp.jar=${copy.dbcp.jar}" />
      <echo message="copy.jaas.jar=${copy.jaas.jar}" />
      <echo message="copy.jdbc20ext.jar=${copy.jdbc20ext.jar}" />
      <echo message="copy.javamail.jar=${copy.javamail.jar}" />
      <echo message="copy.jmxri.jar=${copy.jmxri.jar}" />
      <echo message="copy.jmxtools.jar=${copy.jmxtools.jar}" />
      <echo message="copy.jndi.jar=${copy.jndi.jar}" />
      <echo message="copy.jta.jar=${copy.jta.jar}" />
      <echo message="copy.ldap.jar=${copy.ldap.jar}" />
      <echo message="copy.modeler.jar=${copy.modeler.jar}" />
      <echo message="copy.pool.jar=${copy.pool.jar}" />
      <echo message="copy.tyrex.jar=${copy.tyrex.jar}" />
      <echo message="copy.xerces.jar=${copy.xerces.jar}" />
  
    </target>
  
    <!-- =================== BUILD: Create Directories ====================== -->
    <target name="build-prepare">
  
      <mkdir dir="${catalina.build}"/>
      <mkdir dir="${catalina.build}/bin"/>
      <mkdir dir="${catalina.build}/common/classes"/>
      <mkdir dir="${catalina.build}/common/lib"/>
      <mkdir dir="${catalina.build}/conf"/>
      <mkdir dir="${catalina.build}/logs"/>
      <mkdir dir="${catalina.build}/server/classes"/>
      <mkdir dir="${catalina.build}/server/lib"/>
      <mkdir dir="${catalina.build}/shared/classes"/>
      <mkdir dir="${catalina.build}/shared/lib"/>
      <mkdir dir="${catalina.build}/work"/>
      <mkdir dir="${catalina.build}/temp"/>
  
    </target>
  
    <!-- ======================== BUILD: Copy JARs ========================== -->
    <target name="copy-tomcat-ajp.jar" if="copy.tomcat-ajp.jar">
      <copy todir="${catalina.build}/server/lib" file="${tomcat-ajp.jar}"/>
    </target>
    <target name="copy-activation.jar" if="copy.javamail.jar">
      <copy todir="${catalina.build}/common/lib" file="${activation.jar}"/>
      <copy todir="${catalina.build}/common/lib" file="${mail.jar}"/>
    </target>
    <target name="copy-dbcp.jar" if="copy.dbcp.jar">
      <copy todir="${catalina.build}/server/lib" file="${commons-dbcp.jar}"/>
    </target>
    <target name="copy-jaas.jar" if="copy.jaas.jar">
      <copy todir="${catalina.build}/server/lib" file="${jaas.jar}"/>
    </target>
    <target name="copy-jdbc20ext.jar" if="copy.jdbc20ext.jar">
      <copy todir="${catalina.build}/common/lib" file="${jdbc20ext.jar}"/>
    </target>
    <target name="copy-jmxri.jar" if="copy.jmxri.jar">
      <copy todir="${catalina.build}/server/lib" file="${jmxri.jar}"/>
    </target>
    <target name="copy-jmxtools.jar" if="copy.jmxtools.jar">
      <copy todir="${catalina.build}/server/lib" file="${jmxtools.jar}"/>
    </target>
    <target name="copy-jndi.jar" if="copy.jndi.jar">
      <copy todir="${catalina.build}/common/lib" file="${jndi.jar}"/>
    </target>
    <target name="copy-jta.jar" if="copy.jta.jar">
      <copy todir="${catalina.build}/common/lib" file="${jta.jar}"/>
    </target>
    <target name="copy-ldap.jar" if="copy.ldap.jar">
      <!-- Cannot redistribute LDAP
      <copy todir="${catalina.build}/common/lib" file="${ldap.jar}"/>
      -->
    </target>
    <target name="copy-jsse.jar" if="copy.jsse.jar">
      <!-- Cannot redistribute JSSE
      <copy todir="${catalina.build}/common/lib" file="${jcert.jar}"/>
      <copy todir="${catalina.build}/common/lib" file="${jnet.jar}"/>
      <copy todir="${catalina.build}/common/lib" file="${jsse.jar}"/>
      -->
    </target>
    <target name="copy-modeler.jar" if="copy.modeler.jar">
      <copy todir="${catalina.build}/server/lib" file="${commons-modeler.jar}"/>
    </target>
    <target name="copy-pool.jar" if="copy.pool.jar">
      <copy todir="${catalina.build}/server/lib" file="${commons-pool.jar}"/>
    </target>
    <target name="copy-tomcat-util.jar">
      <copy todir="${catalina.build}/server/lib" file="${tomcat-util.jar}"/>
    </target>
    <target name="copy-tyrex.jar" if="copy.tyrex.jar">
      <copy todir="${catalina.build}/common/lib" file="${tyrex.jar}"/>
      <copy todir="${catalina.build}/common/lib" file="../lib/tyrex.license"/>
    </target>
    <target name="copy-xerces.jar" if="copy.xerces.jar">
      <copy todir="${catalina.build}/common/lib" file="${xerces.jar}"/>
    </target>
  
    <!-- =================== BUILD: Copy Static Files ======================= -->
    <target name="build-static" 
depends="flags,flags.display,build-prepare,copy-activation.jar,copy-tomcat-ajp.jar,copy-dbcp.jar,copy-jaas.jar,copy-jdbc20ext.jar,copy-jmxri.jar,copy-jmxtools.jar,copy-jndi.jar,copy-jsse.jar,copy-jta.jar,copy-ldap.jar,copy-modeler.jar,copy-pool.jar,copy-tomcat-util.jar,copy-tyrex.jar,copy-xerces.jar">
  
      <!-- Executable Commands -->
      <copy todir="${catalina.build}/bin">
        <fileset dir="src/bin" />
      </copy>
      <fixcrlf srcdir="${catalina.build}/bin" includes="*.sh" eol="lf"/>
      <fixcrlf srcdir="${catalina.build}/bin" includes="*.bat" eol="crlf"/>
      <chmod perm="+x" file="${catalina.build}/bin/catalina.sh"/>
      <chmod perm="+x" file="${catalina.build}/bin/digest.sh"/>
      <chmod perm="+x" file="${catalina.build}/bin/startup.sh"/>
      <chmod perm="+x" file="${catalina.build}/bin/shutdown.sh"/>
      <chmod perm="+x" file="${catalina.build}/bin/tool-wrapper.sh"/>
  
      <!-- Common Extensions -->
      <copy todir="${catalina.build}/common/lib" file="${servlet.jar}"/>
  
      <!-- Configuration Files -->
      <copy todir="${catalina.build}/conf">
        <fileset dir="src/conf">
          <exclude name="catalina.conf.xml" />
        </fileset>
      </copy>
  
      <!-- Catalina Server Libraries -->
      <copy todir="${catalina.build}/server/lib"
             file="${commons-beanutils.jar}"/>
      <copy todir="${catalina.build}/server/lib"
             file="${commons-collections.jar}"/>
      <copy todir="${catalina.build}/server/lib"
             file="${commons-digester.jar}"/>
      <copy todir="${catalina.build}/server/lib" file="${regexp.jar}"/>
  <!-- Not needed for stand alone use
      <copy todir="${catalina.build}/server/lib" file="${jmxri.jar}"/>
  -->
  
    </target>
  
    <!-- ================= BUILD: Compile Server Components ================= -->
    <target name="build-main" depends="build-static">
  
      <!-- Compile Service API -->
      <javac srcdir="../service/java" destdir="${catalina.build}/server/classes"
             debug="${compile.debug}" deprecation="${compile.deprecation}"
             optimize="${compile.optimize}"
             excludes="**/CVS/**" />
  
      <!-- Compile internal server components -->
      <javac srcdir="src/share" destdir="${catalina.build}/server/classes"
             debug="${compile.debug}" deprecation="${compile.deprecation}"
             optimize="${compile.optimize}"
             excludes="**/CVS/**">
        <classpath refid="catalina.classpath" />
        <exclude name="org/apache/catalina/util/ProcessHelper.java"
         unless="jdk.1.3.present"/>
        <exclude name="org/apache/catalina/servlets/CGIServlet.java"
         unless="jdk.1.3.present"/>
        <exclude name="org/apache/naming/NamingService.java"
         unless="compile.jmx"/>
        <exclude name="org/apache/naming/factory/DbcpDataSourceFactory.java"
         unless="compile.dbcp"/>
        <exclude name="org/apache/naming/factory/TyrexDataSourceFactory.java"
         unless="compile.tyrex"/>
        <exclude name="org/apache/naming/factory/TyrexTransactionFactory.java"
         unless="compile.tyrex"/>
        <exclude name="org/apache/catalina/mbeans/**"
         unless="compile.jmx"/>
        <exclude name="org/apache/catalina/net/SSLServerSocketFactory.java"
         unless="compile.jsse"/>
        <exclude name="org/apache/catalina/realm/JAAS**"
         unless="compile.jaas"/>
        <exclude name="org/apache/catalina/servlets/SsiInvokerServlet.java"
         unless="compile.ssi"/>
        <exclude name="org/apache/catalina/util/ssi/**"
         unless="compile.ssi"/>
        <exclude name="org/apache/catalina/valves/CertificatesValve.java"
         unless="compile.jsse"/>
        <exclude name="org/apache/naming/factory/MailSessionFactory.java"
         unless="compile.javamail"/>
        <exclude name="org/apache/naming/factory/SendMailFactory.java"
         unless="compile.javamail"/>
        <exclude name="org/apache/catalina/startup/EmbeddedManager.java"
         unless="compile.jmx"/>
        <exclude name="org/apache/catalina/startup/CatalinaManager.java"
         unless="compile.jmx"/>
        <exclude name="org/apache/naming/NamingService.java"
         unless="compile.jmx"/>
      </javac>
  
      <!-- Copy static resource files -->
      <copy todir="${catalina.build}/server/classes">
        <fileset dir="src/share">
          <exclude name="**/*.java"/>
        </fileset>
      </copy>
  
    </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"
        sourcepath="src/share"
        destdir="${catalina.build}/javadoc"
        author="true"
        version="true"
        windowtitle="Catalina Internal API Documentation"
        doctitle="Catalina API"
        bottom="Copyright &#169; 2000-2001 Apache Software Foundation.  All Rights 
Reserved."
      />
    </target>
  
    <!-- ======================= BUILD: Clean Directory ===================== -->
    <target name="build-clean">
      <delete dir="${catalina.build}"/>
    </target>
  
    <!-- ==================== BUILD: Rebuild Everything ===================== -->
    <target name="all" depends="build-clean,build-main"
     description="Clean, build, and deploy Catalina component"/>
  
    <!-- ================ TEST: Compile Unit Tests ========================== -->
    <target name="build-tests" depends="build-main" if="junit.present">
      <mkdir      dir="${catalina.build}/tests"/>
      <!-- Compile unit test classes -->
      <javac srcdir="src/test" destdir="${catalina.build}/tests"
             deprecation="off" debug="on" optimize="off"
             excludes="**/CVS/**">
        <classpath refid="test.classpath"/>
      </javac>
    </target>
  
    <!-- ==================== TEST: Execute Unit Tests ====================== -->
    <target name="test" if="junit.present"
     description="Run all unit test cases"
     depends="build-tests,test-dir-context,test-util">
    </target>
  
    <target name="test-dir-context" if="junit.present">
  
      <echo message="Running FileDirContext tests"/>
      <java classname="${test.runner}" fork="yes"
          failonerror="${test.failonerror}">
        <sysproperty key="doc.base" value="${test.webapp}"/>
        <arg value="org.apache.naming.resources.FileDirContextTestCase"/>
        <classpath refid="test.classpath"/>
      </java>
  
      <echo message="Running WARDirContext tests"/>
      <jar jarfile="${test.webapp.war}">
        <fileset dir="${test.webapp}"/>
      </jar>
      <java classname="${test.runner}" fork="yes"
          failonerror="${test.failonerror}">
        <sysproperty key="doc.base" value="${test.webapp.war}"/>
        <arg value="org.apache.naming.resources.WARDirContextTestCase"/>
        <classpath refid="test.classpath"/>
      </java>
      <delete file="${test.webapp.war}"/>
  
    </target>
  
    <target name="test-util" if="junit.present">
  
      <echo message="Running CookieTools tests"/>
      <java classname="${test.runner}" fork="yes"
          failonerror="${test.failonerror}">
        <arg value="org.apache.catalina.util.CookieToolsTestCase"/>
        <classpath refid="test.classpath"/>
      </java>
  
      <echo message="Running URL tests"/>
      <java classname="${test.runner}" fork="yes"
          failonerror="${test.failonerror}">
        <arg value="org.apache.catalina.util.URLTestCase"/>
        <classpath refid="test.classpath"/>
      </java>
  
    </target>
  
    <!-- ====================== DEPLOY: Create Directories ================== -->
    <target name="deploy-prepare">
      <mkdir dir="${catalina.deploy}"/>
      <mkdir dir="${catalina.deploy}/bin"/>
      <mkdir dir="${catalina.deploy}/conf"/>
      <mkdir dir="${catalina.deploy}/logs"/>
      <mkdir dir="${catalina.deploy}/common/classes"/>
      <mkdir dir="${catalina.deploy}/common/lib"/>
      <mkdir dir="${catalina.deploy}/server/classes"/>
      <mkdir dir="${catalina.deploy}/server/lib"/>
      <mkdir dir="${catalina.deploy}/work"/>
      <mkdir dir="${catalina.deploy}/temp"/>
    </target>
  
    <!-- ====================== DEPLOY: Copy Static Files =================== -->
    <target name="deploy-static" depends="build-main,deploy-prepare">
  
      <!-- Executable Commands -->
      <copy todir="${catalina.deploy}/bin">
        <fileset dir="${catalina.build}/bin" />
      </copy>
      <fixcrlf srcdir="${catalina.deploy}/bin" includes="*.sh"  eol="lf"/>
      <fixcrlf srcdir="${catalina.deploy}/bin" includes="*.bat" eol="crlf"/>
      <chmod perm="+x" file="${catalina.deploy}/bin/catalina.sh"/>
      <chmod perm="+x" file="${catalina.deploy}/bin/digest.sh"/>
      <chmod perm="+x" file="${catalina.deploy}/bin/startup.sh"/>
      <chmod perm="+x" file="${catalina.deploy}/bin/shutdown.sh"/>
      <chmod perm="+x" file="${catalina.deploy}/bin/tool-wrapper.sh"/>
  
      <!-- Common Extensions -->
      <copy todir="${catalina.deploy}/common/lib">
        <fileset dir="${catalina.build}/common/lib" />
      </copy>
  
      <!-- Configuration Files -->
      <copy todir="${catalina.deploy}/conf">
        <fileset dir="${catalina.build}/conf" />
      </copy>
  
      <!-- Server Components -->
      <copy todir="${catalina.deploy}/server/lib">
        <fileset dir="${catalina.build}/server/lib" />
      </copy>
  
      <!-- Shared Extensions -->
      <copy todir="${catalina.deploy}/shared/lib">
        <fileset dir="${catalina.build}/shared/lib" />
      </copy>
  
    </target>
  
    <!-- ====================== DEPLOY: Create Catalina JARs ================ -->
    <target name="deploy" depends="deploy-static,build-main"
     description="Build and deploy Catalina component">
  
      <!-- Catalina Bootstrap JAR File -->
      <jar jarfile="${catalina.deploy}/bin/bootstrap.jar"
           manifest="etc/bootstrap.MF">
        <fileset dir="${catalina.build}/server/classes">
          <include name="org/apache/service/Service.class" />
          <include name="org/apache/service/ServiceController.class" />
          <include name="org/apache/catalina/startup/Bootstrap.class" />
          <include name="org/apache/catalina/startup/BootstrapService.class" />
          <include name="org/apache/catalina/startup/ClassLoaderFactory.class" />
          <include name="org/apache/catalina/startup/Tool.class" />
          <include name="org/apache/catalina/loader/StandardClassLoader*.class" />
          <include name="org/apache/catalina/loader/Extension.class" />
          <include name="org/apache/catalina/loader/Reloader.class" />
          <include name="org/apache/catalina/startup/SecurityManagerDebug.class" />
          <include name="org/apache/naming/JndiPermission.class" />
        </fileset>
      </jar>
  
      <!-- Catalina Main JAR File -->
      <jar jarfile="${catalina.deploy}/server/lib/catalina.jar">
        <fileset dir="${catalina.build}/server/classes">
          <exclude name="org/apache/naming/**" />
          <exclude name="**/connector/warp/**" />
          <exclude name="org/apache/catalina/startup/Bootstrap.class" />
          <exclude name="org/apache/catalina/startup/BootstrapService.class" />
          <exclude name="org/apache/catalina/startup/ClassLoaderFactory.class" />
          <exclude name="org/apache/catalina/startup/Tool.class" />
          <exclude name="org/apache/catalina/loader/StandardClassLoader*.class" />
          <exclude name="org/apache/catalina/loader/Extension.class" />
          <exclude name="org/apache/catalina/loader/Reloader.class" />
          <exclude name="org/apache/catalina/startup/SecurityManagerDebug.class" />
          <exclude name="org/apache/catalina/servlets/**" />
          <exclude name="org/apache/catalina/util/ssi/**" />
        </fileset>
      </jar>
  
      <!-- Naming - Common JAR File -->
      <jar jarfile="${catalina.deploy}/common/lib/naming-common.jar">
        <fileset dir="${catalina.build}/server/classes">
          <include name="org/apache/naming/*" />
          <include name="org/apache/naming/factory/Constants.class" />
          <include name="org/apache/naming/factory/ResourceLinkFactory.class" />
          <include name="org/apache/naming/java/*" />
          <exclude name="org/apache/naming/JndiPermission.class" />
        </fileset>
      </jar>
  
      <!-- Naming - Factory JAR File -->
      <jar jarfile="${catalina.deploy}/shared/lib/naming-factory.jar">
        <fileset dir="${catalina.build}/server/classes">
          <include name="org/apache/naming/factory/**" />
          <exclude name="org/apache/naming/factory/Constants.class" />
          <exclude name="org/apache/naming/factory/ResourceLinkFactory.class" />
        </fileset>
      </jar>
  
      <!-- Naming - Resources JAR File -->
      <jar jarfile="${catalina.deploy}/common/lib/naming-resources.jar">
        <fileset dir="${catalina.build}/server/classes">
          <include name="org/apache/naming/resources/*" />
        </fileset>
      </jar>
  
      <!-- Servlets - Common Files -->
      <jar  jarfile="${catalina.deploy}/server/lib/servlets-common.jar">
        <fileset dir="${catalina.build}/server/classes">
          <include name="org/apache/catalina/servlets/Constants.class" />
          <include name="org/apache/catalina/servlets/*.properties" />
        </fileset>
      </jar>
  
      <!-- Servlets - CGI Servlet -->
      <jar jarfile="${catalina.deploy}/server/lib/servlets-cgi.renametojar">
        <fileset dir="${catalina.build}/server/classes">
          <include name="org/apache/catalina/servlets/CGI*" />
        </fileset>
      </jar>
  
      <!-- Servlets - Default File-Serving Servlet -->
      <jar jarfile="${catalina.deploy}/server/lib/servlets-default.jar">
        <fileset dir="${catalina.build}/server/classes">
          <include name="org/apache/catalina/servlets/Default*" />
        </fileset>
      </jar>
  
      <!-- Servlets - Invoker Servlet -->
      <jar jarfile="${catalina.deploy}/server/lib/servlets-invoker.jar">
        <fileset dir="${catalina.build}/server/classes">
          <include name="org/apache/catalina/servlets/Invoker*" />
        </fileset>
      </jar>
  
      <!-- Servlets - Manager Servlet -->
      <jar jarfile="${catalina.deploy}/server/lib/servlets-manager.jar">
        <fileset dir="${catalina.build}/server/classes">
          <include name="org/apache/catalina/servlets/*Manager*" />
        </fileset>
      </jar>
  
      <!-- Servlets - Snoop Servlet -->
      <jar jarfile="${catalina.deploy}/server/lib/servlets-snoop.jar">
        <fileset dir="${catalina.build}/server/classes">
          <include name="org/apache/catalina/servlets/Snoop*" />
        </fileset>
      </jar>
  
      <!-- Servlets - SSI Servlet -->
      <jar jarfile="${catalina.deploy}/server/lib/servlets-ssi.renametojar">
        <fileset dir="${catalina.build}/server/classes">
          <include name="org/apache/catalina/servlets/Ssi*" />
          <include name="org/apache/catalina/util/ssi/**" />
        </fileset>
      </jar>
  
      <!-- Servlets - Webdav Servlet -->
      <jar jarfile="${catalina.deploy}/server/lib/servlets-webdav.jar">
        <fileset dir="${catalina.build}/server/classes">
          <include name="org/apache/catalina/servlets/Webdav*" />
        </fileset>
      </jar>
  
      <!-- WARP Connector JAR File -->
      <jar  jarfile="${catalina.deploy}/server/lib/warp.jar"
            basedir="${catalina.build}/server/classes"
            includes="**/connector/warp/**" />
  
    </target>
  
    <!-- ================ DIST: Create Distribution ========================= -->
    <target name="dist" depends="build-main"
     description="Create binary distribution">
  
      <!-- Executable Commands -->
      <mkdir dir="${catalina.dist}/bin"/>
      <copy todir="${catalina.dist}/bin">
        <fileset dir="${catalina.build}/bin" />
      </copy>
      <fixcrlf srcdir="${catalina.dist}/bin" includes="*.sh" eol="lf"/>
      <fixcrlf srcdir="${catalina.dist}/bin" includes="*.bat" eol="crlf"/>
      <chmod perm="+x" file="${catalina.dist}/bin/catalina.sh"/>
      <chmod perm="+x" file="${catalina.dist}/bin/digest.sh"/>
      <chmod perm="+x" file="${catalina.dist}/bin/startup.sh"/>
      <chmod perm="+x" file="${catalina.dist}/bin/shutdown.sh"/>
      <chmod perm="+x" file="${catalina.dist}/bin/tool-wrapper.sh"/>
  
      <!-- Common Extensions -->
      <mkdir dir="${catalina.dist}/common/classes"/>
      <copy todir="${catalina.dist}/common/classes">
        <fileset dir="${catalina.build}/common/classes" />
      </copy>
      <mkdir dir="${catalina.dist}/common/lib"/>
      <copy todir="${catalina.dist}/common/lib">
        <fileset dir="${catalina.build}/common/lib" />
      </copy>
  
      <!-- Configuration Files -->
      <mkdir dir="${catalina.dist}/conf"/>
      <copy todir="${catalina.dist}/conf">
        <fileset dir="${catalina.build}/conf" />
      </copy>
  
      <!-- Server Components -->
      <mkdir dir="${catalina.dist}/server/classes"/>
      <copy todir="${catalina.dist}/server/classes">
        <fileset dir="${catalina.build}/server/classes" />
      </copy>
      <mkdir dir="${catalina.dist}/server/lib"/>
      <copy todir="${catalina.dist}/server/lib">
        <fileset dir="${catalina.build}/server/lib" />
      </copy>
  
      <!-- Shared Extensions -->
      <mkdir dir="${catalina.dist}/shared/classes"/>
      <copy todir="${catalina.dist}/shared/classes">
        <fileset dir="${catalina.build}/shared/classes" />
      </copy>
      <mkdir dir="${catalina.dist}/shared/lib"/>
      <copy todir="${catalina.dist}/shared/lib">
        <fileset dir="${catalina.build}/shared/lib" />
      </copy>
  
    </target>
  
    <!-- ======================== DIST: Clean Directory ===================== -->
    <target name="dist-clean">
      <delete dir="${catalina.dist}"/>
    </target>
  
    <!-- ====================== Convenient Synonyms ========================= -->
    <target name="clean" depends="build-clean, dist-clean"
     description="Clean build and dist directories"/>
  
  </project>
  
  Revision  Changes    Path
  1.91      +2 -0      jakarta-tomcat-4.0/catalina/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/build.xml,v
  retrieving revision 1.90
  retrieving revision 1.91
  diff -u -r1.90 -r1.91
  --- build.xml 2001/12/21 18:42:23     1.90
  +++ build.xml 2001/12/26 01:22:10     1.91
  @@ -517,6 +517,7 @@
       <mkdir dir="${catalina.build}/shared/classes"/>
       <mkdir dir="${catalina.build}/shared/lib"/>
       <mkdir dir="${catalina.build}/work"/>
  +    <mkdir dir="${catalina.build}/temp"/>
   
     </target>
   
  @@ -781,6 +782,7 @@
       <mkdir dir="${catalina.deploy}/server/classes"/>
       <mkdir dir="${catalina.deploy}/server/lib"/>
       <mkdir dir="${catalina.deploy}/work"/>
  +    <mkdir dir="${catalina.deploy}/temp"/>
     </target>
   
   
  
  
  
  1.23      +32 -21    jakarta-tomcat-4.0/catalina/src/bin/catalina.bat
  
  Index: catalina.bat
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/bin/catalina.bat,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- catalina.bat      2001/11/28 01:39:10     1.22
  +++ catalina.bat      2001/12/26 01:22:10     1.23
  @@ -4,23 +4,27 @@
   rem
   rem Environment Variable Prequisites:
   rem
  -rem   CATALINA_BASE (Optional) Base directory for resolving dynamic portions
  -rem                 of a Catalina installation.  If not present, resolves to
  -rem                 the same directory that CATALINA_HOME points to.
  +rem   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions
  +rem                   of a Catalina installation.  If not present, resolves to
  +rem                   the same directory that CATALINA_HOME points to.
   rem
  -rem   CATALINA_HOME (Optional) May point at your Catalina "build" directory.
  -rem                 If not present, the current working directory is assumed.
  +rem   CATALINA_HOME   (Optional) May point at your Catalina "build" directory.
  +rem                   If not present, the current working directory is assumed.
   rem
  -rem   CATALINA_OPTS (Optional) Java runtime options used when the "start",
  -rem                 "stop", or "run" command is executed.
  +rem   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
  +rem                   "stop", or "run" command is executed.
   rem
  -rem   JAVA_HOME     Must point at your Java Development Kit installation.
  +rem   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
  +rem                   the JVM should use (java.io.tmpdir).  Defaults to
  +rem                   $CATALINA_BASE/temp.
   rem
  -rem   JSSE_HOME     (Optional) May point at your Java Secure Sockets Extension
  -rem                 (JSSE) installation, whose JAR files will be added to the
  -rem                 system class path used to start Tomcat.
  +rem   JAVA_HOME       Must point at your Java Development Kit installation.
   rem
  -rem $Id: catalina.bat,v 1.22 2001/11/28 01:39:10 patrickl Exp $
  +rem   JSSE_HOME       (Optional) May point at your Java Secure Sockets Extension
  +rem                   (JSSE) installation, whose JAR files will be added to the
  +rem                   system class path used to start Tomcat.
  +rem
  +rem $Id: catalina.bat,v 1.23 2001/12/26 01:22:10 glenn Exp $
   rem ---------------------------------------------------------------------------
   
   
  @@ -28,6 +32,7 @@
   
   set _CATALINA_BASE=%CATALINA_BASE%
   set _CATALINA_HOME=%CATALINA_HOME%
  +set _CATALINA_TMPDIR=%CATALINA_TMPDIR%
   set _CLASSPATH=%CLASSPATH%
   set _CP=%CP%
   
  @@ -60,6 +65,9 @@
   goto cleanup
   :gotJava
   
  +if not "%CATALINA_TMPDIR%" == "" goto gotTmpdir
  +set CATALINA_TMPDIR=%CATALINA_BASE%\temp
  +:gotTmpdir
   
   rem ----- Prepare Appropriate Java Execution Commands -------------------------
   
  @@ -79,10 +87,11 @@
   set 
CP=%CP%;%JSSE_HOME%\lib\jcert.jar;%JSSE_HOME%\lib\jnet.jar;%JSSE_HOME%\lib\jsse.jar
   :noJsse
   set CLASSPATH=%CP%
  -echo Using CATALINA_BASE: %CATALINA_BASE%
  -echo Using CATALINA_HOME: %CATALINA_HOME%
  -echo Using CLASSPATH:     %CLASSPATH%
  -echo Using JAVA_HOME:     %JAVA_HOME%
  +echo Using CATALINA_BASE:   %CATALINA_BASE%
  +echo Using CATALINA_HOME:   %CATALINA_HOME%
  +echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%
  +echo Using CLASSPATH:       %CLASSPATH%
  +echo Using JAVA_HOME:       %JAVA_HOME%
   
   
   rem ----- Execute The Requested Command ---------------------------------------
  @@ -106,23 +115,23 @@
   
   :doRun
   if "%2" == "-security" goto doRunSecure
  -%_RUNJAVA% %CATALINA_OPTS% -Dcatalina.base="%CATALINA_BASE%" 
-Dcatalina.home="%CATALINA_HOME%" org.apache.catalina.startup.Bootstrap %2 %3 %4 %5 %6 
%7 %8 %9 start
  +%_RUNJAVA% %CATALINA_OPTS% -Dcatalina.base="%CATALINA_BASE%" 
-Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" 
org.apache.catalina.startup.Bootstrap %2 %3 %4 %5 %6 %7 %8 %9 start
   goto cleanup
   :doRunSecure
  -%_RUNJAVA% %CATALINA_OPTS% -Djava.security.manager 
-Djava.security.policy=="%CATALINA_BASE%/conf/catalina.policy" 
-Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" 
org.apache.catalina.startup.Bootstrap %3 %4 %5 %6 %7 %8 %9 start
  +%_RUNJAVA% %CATALINA_OPTS% -Djava.security.manager 
-Djava.security.policy=="%CATALINA_BASE%/conf/catalina.policy" 
-Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" 
-Djava.io.tmpdir="%CATALINA_TMPDIR%" org.apache.catalina.startup.Bootstrap %3 %4 %5 %6 
%7 %8 %9 start
   goto cleanup
   
   :doStart
   if "%2" == "-security" goto doStartSecure
  -%_STARTJAVA% %CATALINA_OPTS% -Dcatalina.base="%CATALINA_BASE%" 
-Dcatalina.home="%CATALINA_HOME%" org.apache.catalina.startup.Bootstrap %2 %3 %4 %5 %6 
%7 %8 %9 start
  +%_STARTJAVA% %CATALINA_OPTS% -Dcatalina.base="%CATALINA_BASE%" 
-Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" 
org.apache.catalina.startup.Bootstrap %2 %3 %4 %5 %6 %7 %8 %9 start
   goto cleanup
   :doStartSecure
   echo Using Security Manager
  -%_STARTJAVA% %CATALINA_OPTS% -Djava.security.manager 
-Djava.security.policy=="%CATALINA_BASE%/conf/catalina.policy" 
-Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" 
org.apache.catalina.startup.Bootstrap %3 %4 %5 %6 %7 %8 %9 start
  +%_STARTJAVA% %CATALINA_OPTS% -Djava.security.manager 
-Djava.security.policy=="%CATALINA_BASE%/conf/catalina.policy" 
-Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" 
-Djava.io.tmpdir="%CATALINA_TMPDIR%" org.apache.catalina.startup.Bootstrap %3 %4 %5 %6 
%7 %8 %9 start
   goto cleanup
   
   :doStop
  -%_RUNJAVA% %CATALINA_OPTS% -Dcatalina.base="%CATALINA_BASE%" 
-Dcatalina.home="%CATALINA_HOME%" org.apache.catalina.startup.Bootstrap %2 %3 %4 %5 %6 
%7 %8 %9 stop
  +%_RUNJAVA% %CATALINA_OPTS% -Dcatalina.base="%CATALINA_BASE%" 
-Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" 
org.apache.catalina.startup.Bootstrap %2 %3 %4 %5 %6 %7 %8 %9 stop
   goto cleanup
   
   
  @@ -134,6 +143,8 @@
   set _CATALINA_BASE=
   set CATALINA_HOME=%_CATALINA_HOME%
   set _CATALINA_HOME=
  +set CATALINA_TMPDIR=%_CATALINA_TMPDIR%
  +set _CATALINA_TMPDIR=
   set CLASSPATH=%_CLASSPATH%
   set _CLASSPATH=
   set CP=%_CP%
  
  
  
  1.23      +40 -19    jakarta-tomcat-4.0/catalina/src/bin/catalina.sh
  
  Index: catalina.sh
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/bin/catalina.sh,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- catalina.sh       2001/11/27 23:10:14     1.22
  +++ catalina.sh       2001/12/26 01:22:10     1.23
  @@ -4,27 +4,31 @@
   #
   # Environment Variable Prequisites
   #
  -#   CATALINA_BASE (Optional) Base directory for resolving dynamic portions
  -#                 of a Catalina installation.  If not present, resolves to
  -#                 the same directory that CATALINA_HOME points to.
  +#   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions
  +#                   of a Catalina installation.  If not present, resolves to
  +#                   the same directory that CATALINA_HOME points to.
   #
  -#   CATALINA_HOME (Optional) May point at your Catalina "build" directory.
  -#                 If not present, the current working directory is assumed.
  +#   CATALINA_HOME   (Optional) May point at your Catalina "build" directory.
  +#                   If not present, the current working directory is assumed.
   #
  -#   CATALINA_OPTS (Optional) Java runtime options used when the "start",
  -#                 "stop", or "run" command is executed.
  +#   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
  +#                   "stop", or "run" command is executed.
   #
  -#   JAVA_HOME     Must point at your Java Development Kit installation.
  +#   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
  +#                   the JVM should use (java.io.tmpdir).  Defaults to
  +#                   $CATALINA_BASE/temp.
   #
  -#   JPDA_OPTS     (Optional) Java runtime options used when the "jpda start"
  -#                 command is executed.  Defaults to
  -#                 "-classic -Xdebug -Xnoagent 
-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
  +#   JAVA_HOME       Must point at your Java Development Kit installation.
   #
  -#   JSSE_HOME     (Optional) May point at your Java Secure Sockets Extension
  -#                 (JSSE) installation, whose JAR files will be added to the
  -#                 system class path used to start Tomcat.
  +#   JPDA_OPTS       (Optional) Java runtime options used when the "jpda start"
  +#                   command is executed.  Defaults to
  +#                   "-classic -Xdebug -Xnoagent 
-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
   #
  -# $Id: catalina.sh,v 1.22 2001/11/27 23:10:14 patrickl Exp $
  +#   JSSE_HOME       (Optional) May point at your Java Secure Sockets Extension
  +#                   (JSSE) installation, whose JAR files will be added to the
  +#                   system class path used to start Tomcat.
  +#
  +# $Id: catalina.sh,v 1.23 2001/12/26 01:22:10 glenn Exp $
   # -----------------------------------------------------------------------------
   
   
  @@ -118,12 +122,21 @@
   fi
   
   
  +# ---- Set Up CATALINA_TMPDIR If Necessary ------------------------------------
  +
  +if [ -z "$CATALINA_TMPDIR" ] ; then
  +  ## define the java.io.tmpdir to use for catalina
  +  CATALINA_TMPDIR=${CATALINA_BASE}/temp
  +fi
  +
  +
   # ----- Execute The Requested Command -----------------------------------------
   
  -echo "Using CLASSPATH:     $CP"
  -echo "Using CATALINA_BASE: $CATALINA_BASE"
  -echo "Using CATALINA_HOME: $CATALINA_HOME"
  -echo "Using JAVA_HOME:     $JAVA_HOME"
  +echo "Using CLASSPATH:       $CP"
  +echo "Using CATALINA_BASE:   $CATALINA_BASE"
  +echo "Using CATALINA_HOME:   $CATALINA_HOME"
  +echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"
  +echo "Using JAVA_HOME:       $JAVA_HOME"
   
   if [ "$1" = "jpda" ] ; then
     CATALINA_OPTS="${CATALINA_OPTS} ${JPDA_OPTS}"
  @@ -141,6 +154,7 @@
          -classpath $CP \
          -Dcatalina.base=$CATALINA_BASE \
          -Dcatalina.home=$CATALINA_HOME \
  +       -Djava.io.tmpdir=$CATALINA_TMPDIR \
          org.apache.catalina.startup.Bootstrap "$@" start
     else
       $JAVA_HOME/bin/jdb \
  @@ -149,6 +163,7 @@
          -classpath $CP \
          -Dcatalina.base=$CATALINA_BASE \
          -Dcatalina.home=$CATALINA_HOME \
  +       -Djava.io.tmpdir=$CATALINA_TMPDIR \
          org.apache.catalina.startup.Bootstrap "$@" start
     fi
   
  @@ -165,6 +180,7 @@
     $JAVA_HOME/bin/java $CATALINA_OPTS -classpath $CP \
      -Dcatalina.base=$CATALINA_BASE \
      -Dcatalina.home=$CATALINA_HOME \
  +   -Djava.io.tmpdir=$CATALINA_TMPDIR \
      org.apache.catalina.startup.Embedded "$@"
   
   elif [ "$1" = "env" ] ; then
  @@ -183,11 +199,13 @@
        -Djava.security.policy==$CATALINA_BASE/conf/catalina.policy \
        -Dcatalina.base=$CATALINA_BASE \
        -Dcatalina.home=$CATALINA_HOME \
  +     -Djava.io.tmpdir=$CATALINA_TMPDIR \
        org.apache.catalina.startup.Bootstrap "$@" start
     else
       $JAVA_HOME/bin/java $CATALINA_OPTS -classpath $CP \
        -Dcatalina.base=$CATALINA_BASE \
        -Dcatalina.home=$CATALINA_HOME \
  +     -Djava.io.tmpdir=$CATALINA_TMPDIR \
        org.apache.catalina.startup.Bootstrap "$@" start
     fi
   
  @@ -203,12 +221,14 @@
        -Djava.security.policy==$CATALINA_BASE/conf/catalina.policy \
        -Dcatalina.base=$CATALINA_BASE \
        -Dcatalina.home=$CATALINA_HOME \
  +     -Djava.io.tmpdir=$CATALINA_TMPDIR \
        org.apache.catalina.startup.Bootstrap "$@" start \
        >> $CATALINA_BASE/logs/catalina.out 2>&1 &
     else
       $JAVA_HOME/bin/java $CATALINA_OPTS -classpath $CP \
        -Dcatalina.base=$CATALINA_BASE \
        -Dcatalina.home=$CATALINA_HOME \
  +     -Djava.io.tmpdir=$CATALINA_TMPDIR \
        org.apache.catalina.startup.Bootstrap "$@" start \
        >> $CATALINA_BASE/logs/catalina.out 2>&1 &
     fi
  @@ -219,6 +239,7 @@
     $JAVA_HOME/bin/java $CATALINA_OPTS -classpath $CP \
      -Dcatalina.base=$CATALINA_BASE \
      -Dcatalina.home=$CATALINA_HOME \
  +   -Djava.io.tmpdir=$CATALINA_TMPDIR \
      org.apache.catalina.startup.Bootstrap "$@" stop
   
   else
  
  
  
  1.43      +5 -5      
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Catalina.java
  
  Index: Catalina.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Catalina.java,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- Catalina.java     2001/12/18 15:50:28     1.42
  +++ Catalina.java     2001/12/26 01:22:10     1.43
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Catalina.java,v
 1.42 2001/12/18 15:50:28 remm Exp $
  - * $Revision: 1.42 $
  - * $Date: 2001/12/18 15:50:28 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/Catalina.java,v
 1.43 2001/12/26 01:22:10 glenn Exp $
  + * $Revision: 1.43 $
  + * $Date: 2001/12/26 01:22:10 $
    *
    * ====================================================================
    *
  @@ -97,7 +97,7 @@
    * </u>
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.42 $ $Date: 2001/12/18 15:50:28 $
  + * @version $Revision: 1.43 $ $Date: 2001/12/26 01:22:10 $
    */
   
   public class Catalina {
  @@ -335,7 +335,7 @@
           digester.addSetProperties("Server/Service/Connector/Factory");
           digester.addSetNext("Server/Service/Connector/Factory",
                               "setFactory",
  -                            "org.apache.catalina.ServerSocketFactory");
  +                            "org.apache.catalina.net.ServerSocketFactory");
   
           digester.addObjectCreate("Server/Service/Connector/Listener",
                                    null, // MUST be specified in the element
  
  
  
  1.4       +20 -13    
jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/DbcpDataSourceFactory.java
  
  Index: DbcpDataSourceFactory.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/DbcpDataSourceFactory.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DbcpDataSourceFactory.java        2001/10/30 05:03:51     1.3
  +++ DbcpDataSourceFactory.java        2001/12/26 01:22:10     1.4
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/DbcpDataSourceFactory.java,v
 1.3 2001/10/30 05:03:51 craigmcc Exp $
  - * $Revision: 1.3 $
  - * $Date: 2001/10/30 05:03:51 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/DbcpDataSourceFactory.java,v
 1.4 2001/12/26 01:22:10 glenn Exp $
  + * $Revision: 1.4 $
  + * $Date: 2001/12/26 01:22:10 $
    *
    * ====================================================================
    *
  @@ -65,6 +65,7 @@
   package org.apache.naming.factory;
   
   import java.util.Hashtable;
  +import java.security.AccessControlException;
   import java.sql.Driver;
   import java.sql.DriverManager;
   import javax.naming.Name;
  @@ -113,7 +114,7 @@
    * </ul>
    * 
    * @author Craig R. McClanahan
  - * @version $Revision: 1.3 $ $Date: 2001/10/30 05:03:51 $
  + * @version $Revision: 1.4 $ $Date: 2001/12/26 01:22:10 $
    */
   
   public class DbcpDataSourceFactory
  @@ -206,7 +207,7 @@
           if (user == null)
               throw new NamingException
                   ("DbcpDataSourceFactory:  username is required");
  -        log("driverClassName=" + driverClassName + ", password=" + password +
  +        log("driverClassName=" + driverClassName +
               ", url=" + url + ", user=" + user);
   
           // Load and register the JDBC driver
  @@ -257,14 +258,20 @@
           } catch (Throwable t) {
               log("Error setting maxWait", t);
           }
  -        DriverManagerConnectionFactory connectionFactory =
  -            new DriverManagerConnectionFactory(url, user, password);
  -        PoolableConnectionFactory poolableConnectionFactory =
  -            new PoolableConnectionFactory(connectionFactory, connectionPool,
  -                                          null, validationQuery,
  -                                          false, true);
  -        PoolingDataSource dataSource =
  -            new PoolingDataSource(connectionPool);
  +        PoolingDataSource dataSource = null;
  +        try {
  +            DriverManagerConnectionFactory connectionFactory =
  +                new DriverManagerConnectionFactory(url, user, password);
  +            PoolableConnectionFactory poolableConnectionFactory =
  +                new PoolableConnectionFactory(connectionFactory, connectionPool,
  +                                              null, validationQuery,
  +                                              false, true);
  +            dataSource = new PoolingDataSource(connectionPool);
  +        } catch(Throwable t) {
  +            log("Cannot create DataSource, Exception",t);
  +            throw new NamingException(
  +                "Exception creating DataSource: " + t.getMessage());
  +        }
           return (dataSource);
   
           
  
  
  
  1.5       +16 -4     
jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/ResourceFactory.java
  
  Index: ResourceFactory.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/ResourceFactory.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ResourceFactory.java      2001/03/24 20:52:07     1.4
  +++ ResourceFactory.java      2001/12/26 01:22:10     1.5
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/ResourceFactory.java,v
 1.4 2001/03/24 20:52:07 craigmcc Exp $
  - * $Revision: 1.4 $
  - * $Date: 2001/03/24 20:52:07 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/factory/ResourceFactory.java,v
 1.5 2001/12/26 01:22:10 glenn Exp $
  + * $Revision: 1.5 $
  + * $Date: 2001/12/26 01:22:10 $
    *
    * ====================================================================
    *
  @@ -77,7 +77,7 @@
    * Object factory for Resources.
    * 
    * @author Remy Maucherat
  - * @version $Revision: 1.4 $ $Date: 2001/03/24 20:52:07 $
  + * @version $Revision: 1.5 $ $Date: 2001/12/26 01:22:10 $
    */
   
   public class ResourceFactory
  @@ -124,17 +124,28 @@
                       try {
                           factoryClass = tcl.loadClass(factoryClassName);
                       } catch(ClassNotFoundException e) {
  +                        throw new NamingException(
  +                            "Could not create resource factory, 
ClassNotFoundException:" +
  +                            e.getMessage());
                       }
                   } else {
                       try {
                           factoryClass = Class.forName(factoryClassName);
                       } catch(ClassNotFoundException e) {
  +                        throw new NamingException(
  +                            "Could not create resource factory, 
ClassNotFoundException:" +
  +                            e.getMessage());
                       }
                   }
                   if (factoryClass != null) {
                       try {
                           factory = (ObjectFactory) factoryClass.newInstance();
                       } catch(Throwable t) {
  +                        if( t instanceof NamingException)
  +                            throw t;
  +                        throw new NamingException(
  +                            "Could not create resource factory instance, " +
  +                            t.getMessage());
                       }
                   }
               } else {
  @@ -147,6 +158,7 @@
                               Class.forName(javaxSqlDataSourceFactoryClassName)
                               .newInstance();
                       } catch(Throwable t) {
  +
                       }
                   } else if (ref.getClassName().equals("javax.mail.Session")) {
                       String javaxMailSessionFactoryClassName =
  
  
  

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

Reply via email to