[jboss-cvs] apache/commons-logging ...

Scott Stark scott.stark at jboss.com
Fri Feb 9 01:57:16 EST 2007


  User: starksm 
  Date: 07/02/09 01:57:16

  Modified:    commons-logging                .cvsignore build.xml
                        project.xml build.properties.sample LICENSE.txt
                        PROPOSAL.html NOTICE.txt checkstyle.xml
                        project.properties RELEASE-NOTES.txt
  Added:       commons-logging                doap_logging.rdf .project
                        .classpath
  Removed:     commons-logging                maven.xml STATUS.html
  Log:
  Update to the http://apache.ziply.com/jakarta/commons/logging/source/commons-logging-1.1-src.zip release
  
  Revision  Changes    Path
  1.3       +1 -0      apache/commons-logging/.cvsignore
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: .cvsignore
  ===================================================================
  RCS file: /cvsroot/jboss/apache/commons-logging/.cvsignore,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- .cvsignore	19 Apr 2006 02:43:36 -0000	1.2
  +++ .cvsignore	9 Feb 2007 06:57:16 -0000	1.3
  @@ -9,3 +9,4 @@
   .project
   .classpath
   .repositoryIndex
  +output
  
  
  
  1.3       +776 -930  apache/commons-logging/build.xml
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: build.xml
  ===================================================================
  RCS file: /cvsroot/jboss/apache/commons-logging/build.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- build.xml	19 Apr 2006 02:44:31 -0000	1.2
  +++ build.xml	9 Feb 2007 06:57:16 -0000	1.3
  @@ -1,6 +1,6 @@
   <!--
   
  - Copyright 2001-2004 The Apache Software Foundation.
  + Copyright 2001-2005 The Apache Software Foundation.
    
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
  @@ -16,13 +16,32 @@
   
   -->
   
  -<project name="Logging" default="compile" basedir=".">
  -
  -
   <!--
  -        "Logging" component of the Jakarta Commons Subproject
  -        $Id: build.xml,v 1.2 2006/04/19 02:44:31 starksm Exp $
  --->
  +  - Ant build file for commons-logging.
  +  -
  +  - Quick build instructions:
  +  -  * ant getlibs
  +  -  * cp build.properties.sample build.properties
  +  -  * ant -lib lib/junit-3.8.1.jar dist 
  +  -
  +  - Note that this build file uses the optional <junit> task. While the
  +  - task "adapter" class comes by default with ant 1.6+, the junit libraries
  +  - (3.8.1 or later) are also required to be made available to ant. This
  +  - requires that you do one of the following:
  +  -  * create directory ~/.ant/lib and place the junit jar there
  +  -  * put the junit jar in $ANT_HOME/lib
  +  -  * run ant as "ant -lib path-to-junit-jar"
  +  -  * put the junit jar in $CLASSPATH
  +  -
  +  - Note when building JCL for release it is strongly recommended that a 1.2 JVM
  +  - is used for the main compile and the home.jdk4 property used to specify
  +  - the path to a 1.4 J2SDK. This will be used to compile those classes
  +  - which require the 1.4 API. 
  +  -
  +  - $Id: build.xml,v 1.3 2007/02/09 06:57:16 starksm Exp $
  +  -->
  +
  +<project name="Logging" default="all" basedir=".">
   
   
   <!-- ========== Initialize Properties ===================================== -->
  @@ -31,16 +50,6 @@
     <property file="build.properties"/>                <!-- Component local   -->
     <property file="../build.properties"/>             <!-- Commons local     -->
     <property file="${user.home}/build.properties"/>   <!-- User local        -->
  -  <!-- Allow jbossbuild.repository to be set from (in order or priority)
  -     + Command line -Djbossbuild.repository=...
  -     + synchronize.properties jbossbuild.repository setting
  -     + JBOSS_REPOSITORY environment variable (e.g. JBOSS_REPOSITORY=file:///d:/projects/repository.jboss.com/)
  -  -->
  -  <condition property="jbossbuild.repository" value="${env.JBOSS_REPOSITORY}">
  -     <isset property="env.JBOSS_REPOSITORY"/>
  -  </condition>
  -  <!-- Fall back to default -->
  -  <property name="jbossbuild.repository" value="http://repository.jboss.com"/>
   
   
   <!-- ========== External Dependencies ===================================== -->
  @@ -49,17 +58,25 @@
     <!-- The directories corresponding to your necessary dependencies -->
     <property name="junit.home"              value="/usr/local/junit3.5"/>
     <property name="jakarta.home"            value="../.."/>
  -  <property environment="env"/>
  +
  +  <!--
  +    - The names of the unit tests to run. By default all tests are run, but
  +    - this can be overridden from the command line by something like:
  +    -   ant -Dtestmatch=**/FooTestCase test
  +    -->
  +  <property name="testmatch" value="**/*TestCase"/>
   
   
   <!-- ========== Derived Values ============================================ -->
   
   
     <!-- The locations of necessary jar files -->
  -  <property name="junit.jar"               value="${junit.home}/junit.jar"/>
  -  <property name="log4j.jar"               value="thirdparty/log4j.jar"/>
  -  <property name="logkit.jar"              value="${jakarta.home}/jakarta-avalon-logkit/build/log/logkit"/>
  -  <property name="avalon-framework.jar"    value="../../Avalon-4.1.4/avalon-framework-4.1.4.jar"/>
  +  <property name="junit.jar"               value="junit-3.8.1.jar"/>
  +  <property name="log4j12.jar"             value="log4j-1.2.12.jar"/>
  +  <property name="log4j13.jar"             value="log4j-1.3.0.jar"/>
  +  <property name="logkit.jar"              value="logkit-1.0.1.jar"/>
  +  <property name="avalon-framework.jar"    value="avalon-framework-4.1.3.jar"/>
  +  <property name="servletapi.jar"          value="servletapi-2.3.jar"/>
   
   
   <!-- ========== Component Declarations ==================================== -->
  @@ -75,7 +92,7 @@
     <property name="component.title"         value="Logging Wrapper Library"/>
   
     <!-- The current version number of this component -->
  -  <property name="component.version"       value="1.0.5.GA-jboss"/>
  +  <property name="component.version"       value="1.1"/>
   
     <!-- The base directory for compilation targets -->
     <property name="build.home"              value="${basedir}/target"/>
  @@ -86,15 +103,32 @@
     <!-- The base directory for distribution targets -->
     <property name="dist.home"               value="dist"/>
   
  +  <!-- The base directory for releases  -->
  +  <property name="artifacts.home"               value="artifacts"/>
  +
     <!-- 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"/>
   
  +  <!-- jar names -->
  +  <property name="core.jar.name" value="commons-${component.name}-${component.version}.jar"/>
  +  <property name="api.jar.name" value="commons-${component.name}-api-${component.version}.jar"/>
  +  <property name="adapters.jar.name" value="commons-${component.name}-adapters-${component.version}.jar"/>
  +  <property name="src.ide.name" value="commons-${component.name}-${component.version}-ide.zip"/>
  +
  +  <!-- dist names -->
  +  <property name="windows.dist.name" value="commons-${component.name}-${component.version}.zip"/>
  +  <property name="nix.dist.name" value="commons-${component.name}-${component.version}.tar.gz"/>
   
   <!-- ========== Compiler Defaults ========================================= -->
   
  +  <!-- Version of java class files to generate. -->
  +  <property name="target.version" value="1.1"/>
  +
  +  <!-- Version of java source to accept -->
  +  <property name="source.version" value="1.2"/>
   
     <!-- Should Java compilations set the 'debug' compiler option? -->
     <property name="compile.debug"           value="true"/>
  @@ -109,39 +143,39 @@
     <path id="compile.classpath">
       <pathelement location="${build.home}/classes"/>
       <pathelement location="${junit.jar}"/>
  -    <pathelement location="${log4j.jar}"/>
       <pathelement location="${logkit.jar}"/>
       <pathelement location="${avalon-framework.jar}"/>
  +    <pathelement location="${servletapi.jar}"/>
     </path>
   
   
   <!-- ========== Test Execution Defaults =================================== -->
   
   
  -  <!-- Construct unit test classpath (generic tests) -->
  +  <!-- 
  +    - Construct unit test classpath (generic tests).
  +    -
  +    - Note that unit tests that use the PathableTestSuite approach don't need
  +    - any of this (except junit). However unit tests that don't use PathableTestSuite
  +    - to configure their classpath will need the basic classes to be provided
  +    - via this mechanism.
  +    -->
     <path id="test.classpath">
       <pathelement location="${build.home}/classes"/>
       <pathelement location="${build.home}/tests"/>
       <pathelement location="${junit.jar}"/>
  -    <pathelement location="${log4j.jar}"/>
       <pathelement location="${logkit.jar}"/>
       <pathelement location="${avalon-framework.jar}"/>
       <pathelement location="${conf.home}"/>
  -  </path>
  -
  -  <!-- Construct unit test classpath (JDK 1.4 tests) -->
  -  <path id="test.classpath.jdk14">
  -    <pathelement location="${build.home}/classes"/>
  -    <pathelement location="${build.home}/tests"/>
  -    <pathelement location="${junit.jar}"/>
  +    <pathelement location="${servletapi.jar}"/>
     </path>
   
     <!-- Construct unit test classpath (Log4J tests) -->
  -  <path id="test.classpath.log4j">
  +  <path id="test.classpath.log4j13">
       <pathelement location="${build.home}/classes"/>
       <pathelement location="${build.home}/tests"/>
       <pathelement location="${junit.jar}"/>
  -    <pathelement location="${log4j.jar}"/>
  +    <pathelement location="${log4j13.jar}"/>
     </path>
   
     <!-- Construct unit test classpath (Log4J tests) -->
  @@ -152,9 +186,10 @@
       <pathelement location="${log4j12.jar}"/>
     </path>
   
  -  <!-- Construct unit test classpath (Minimal Wrapper) -->
  -  <path id="test.classpath.wrap">
  -    <pathelement location="${build.home}/commons-logging-wrapper.jar"/>
  +  <!-- Construct javadoc classpath -->
  +  <path id="javadoc.classpath">
  +    <path refid="compile.classpath"/>
  +    <pathelement location="${log4j12.jar}"/>
     </path>
   
     <!-- Should all tests fail if one does? -->
  @@ -162,12 +197,37 @@
   
     <!-- The test runner to execute -->
     <property name="test.runner"             value="junit.textui.TestRunner"/>
  -  <property name="test.entry" value="org.apache.commons.logging.TestAll"/>
  -  <property name="test.wrapper"    value="org.apache.commons.logging.Wrapper"/>
  +
  +  <!-- libs to pass to the tests -->
  +  <property name="test.sysprops.testclasses" value="${build.home}/tests"/>
  +  <property name="test.sysprops.log4j12" value="${log4j12.jar}"/>
  +  <property name="test.sysprops.log4j13" value="${log4j13.jar}"/>
  +  <property name="test.sysprops.logkit" value="${logkit.jar}"/>
  +  <property name="test.sysprops.servletapi" value="${servletapi.jar}"/>
  +  <property name="test.sysprops.commons-logging" value="${build.home}/${core.jar.name}"/>
  +  <property name="test.sysprops.commons-logging-api" value="${build.home}/${api.jar.name}"/>
  +  <property name="test.sysprops.commons-logging-adapters" value="${build.home}/${adapters.jar.name}"/>
  +  <propertyset id="test-lib-props">
  +    <propertyref prefix="test.sysprops."/>
  +    <mapper type="glob" from="test.sysprops.*" to="*"/>
  +  </propertyset>
   
   <!-- ========== Executable Targets ======================================== -->
   
   
  +  <!--
  +    - Running this target will download all the necessary dependencies into the "lib" subdirectory.
  +    -->
  +  <property name="getlibs.base" value="http://www.ibiblio.org/maven"/>
  +  <target name="getlibs">
  +    <mkdir dir="lib"/>
  +    <get dest="lib/junit-3.8.1.jar" src="${getlibs.base}/junit/jars/junit-3.8.1.jar"/>
  +    <get dest="lib/logkit-1.0.1.jar" src="${getlibs.base}/logkit/jars/logkit-1.0.1.jar"/>
  +    <get dest="lib/avalon-framework-4.1.3.jar" src="${getlibs.base}/avalon-framework/jars/avalon-framework-4.1.3.jar"/>
  +    <get dest="lib/log4j-1.2.12.jar" src="${getlibs.base}/log4j/jars/log4j-1.2.12.jar"/>
  +    <get dest="lib/servletapi-2.3.jar" src="${getlibs.base}/servletapi/jars/servletapi-2.3.jar"/>
  +  </target>
  +
     <target name="init"
      description="Initialize and evaluate conditionals">
       <echo message="-------- ${component.title} ${component.version} --------"/>
  @@ -180,7 +240,9 @@
      description="Prepare build directory">
   
       <echo>
  -    Log4j: ${log4j.jar}
  +    Log4j12: ${log4j12.jar}
  +    <!-- Note: log4j13 support is not available in the 1.1 release. -->
  +    <!--Log4j13: ${log4j13.jar}-->
       LogKit: ${logkit.jar}
       Avalon-Framework: ${avalon-framework.jar}
       </echo>
  @@ -188,8 +250,6 @@
       <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"/>
       <mkdir dir="${build.home}/tests"/>
     </target>
   
  @@ -200,15 +260,7 @@
       <copy  todir="${build.home}/conf" filtering="on">
         <fileset dir="${conf.home}" includes="*.MF"/>
         <fileset dir="${conf.home}" includes="*.properties"/>
  -      <filterset>
  -         <filter token="java.vm.version" value="${java.vm.version}"/>
  -         <filter token="java.vm.vendor" value="${java.vm.vendor}"/>
  -      </filterset>
       </copy>
  -    <mkdir dir="thirdparty" />
  -    <!-- Get the binaries dependencies from the repository -->
  -    <get dest="thirdparty/log4j.jar"
  -         src="${jbossbuild.repository}/apache-log4j/1.2.8/lib/log4j.jar" />
     </target>
   
     <target name="compile" depends="static,compile-only"
  @@ -217,24 +269,40 @@
     <target name='discovery' depends='init'>
       <available property="jdk.1.4.present"
                  classname="java.util.logging.Logger"/>
  -    <available classname="org.apache.log4j.Logger"
  -               classpathref="compile.classpath"
  -               property="log4j.present"/>
  +
       <available property="logkit.present"
                  classpathref="compile.classpath"
                  classname="org.apache.log.Logger"/>
  +
       <available property="avalon-framework.present"
                  classpathref="compile.classpath"
                  classname="org.apache.avalon.framework.logger.Logger"/>
  +
  +    <available file="${log4j12.jar}" property="log4j12.present"/>
  +    <available file="${log4j13.jar}" property="log4j13.present"/>
  +    <available file="${build.home}/docs" property="maven.generated.docs.present"/>
     </target>
   
  -  <target name="log4j-warning" unless='log4j.present' depends='init,discovery'>
  +  <target name="log4j12-warning" unless='log4j12.present' depends='init,discovery'>
       <echo>
       *** WARNING ***
  -    Log4j not found: Cannot Build Log4jLogger
  +    Log4j 1.2 not found: Cannot Build Log4JLogger
       </echo>
     </target>
     
  +  <target name="log4j13-warning" unless='log4j13.present' depends='init,discovery'>
  +    <!--
  +      - Note: log4j13 support is not available in the 1.1 release.
  +      - If we add it in a future release, the code below should be uncommented.
  +      -->
  +    <!--
  +    <echo>
  +    *** WARNING ***
  +    Log4j 1.3 not found: Cannot Build Log4J13Logger
  +    </echo>
  +    -->
  +  </target>
  +  
     <target name="logkit-warning" unless='logkit.present' depends='init,discovery'>
       <echo>
       *** WARNING ***
  @@ -256,42 +324,135 @@
       </echo>
     </target>
     
  -  <target name="log4j12-warning" unless='log4j12.jar' depends='init,discovery'>
  +  <target name="log4j12-test-warning" unless='log4j12.jar' depends='init,discovery'>
       <echo>
       *** WARNING ***
       Log4J 1.2.x Jar not found: Cannot execute 1.2.x tests
       </echo>
     </target>
       
  -  <target name='warning' depends='log4j-warning,logkit-warning,jdk1.4-warning,avalon-framework-warning'/>
  -
  +  <target name='warning' 
  +    depends='log4j12-warning,log4j13-warning,logkit-warning,jdk1.4-warning,avalon-framework-warning,compile-1.4'/>
   
  -  <target name="compile-only" depends="init,discovery,warning" >
  +  <target name="compile-only" 
  +    depends="prepare,discovery,warning,show-lib-presence,compile-non-log4j,compile-log4j12,compile-log4j13,build-jar"/>
   
  +  <target name="show-lib-presence">
       <echo  message="jdk.1.4.present=${jdk.1.4.present}"/>
  -    <echo  message="log4j.present=${log4j.present}"/>
  +    <echo  message="log4j12.present=${log4j12.present}"/>
  +    <!-- Note: log4j13 support is not available in the 1.1 release. -->
  +    <!--<echo  message="log4j13.present=${log4j13.present}"/>-->
       <echo  message="logkit.present=${logkit.present}"/>
       <echo  message="avalon-framework.present=${avalon-framework.present}"/>
  +  </target>
   
  +  <target name="compile-non-log4j" depends="prepare,discovery">
  +    <!-- compile everything except Log4J classes -->
       <javac srcdir="${source.home}"
              destdir="${build.home}/classes"
              debug="${compile.debug}"
              deprecation="${compile.deprecation}"
  -           optimize="${compile.optimize}">
  +           optimize="${compile.optimize}"
  +           source="${source.version}"
  +           target="${target.version}">
  +
         <classpath refid="compile.classpath"/>
  +    
  +      <exclude name="org/apache/commons/logging/impl/Log4J*.java"/>
  +
         <exclude name="org/apache/commons/logging/impl/Jdk13LumberjackLogger.java"
                  unless="jdk.1.4.present"/>
         <exclude name="org/apache/commons/logging/impl/Jdk14Logger.java"
                  unless="jdk.1.4.present"/>
  -      <exclude name="org/apache/commons/logging/impl/Log4J*.java"
  -               unless="log4j.present"/>
  -      <exclude name="org/apache/commons/logging/impl/Log4j*.java"
  -               unless="log4j.present"/>
         <exclude name="org/apache/commons/logging/impl/LogKitLogger.java"
                  unless="logkit.present"/>
         <exclude name="org/apache/commons/logging/impl/AvalonLogger.java"
                  unless="avalon-framework.present"/>
       </javac>
  +  </target>
  +
  +  <target name="compile-1.4" depends="prepare,discovery,compile-non-log4j" if='executable.javac1.4'>
  +    <!-- 
  +      - Compiles those classes which require a 1.4+ JSDK.
  +      - This target will only be executed when ant is running a pre-1.4 JVM
  +      - and the home.jdk4 property is set.
  +      - This configuration is typically used to create a release only.
  +      -->
  +    <echo  message=""/>
  +    <echo  message="************************************************************"/>
  +    <echo  message="    Compiling 1.4 only classes using compiler@${executable.javac1.4}"/>
  +    <echo  message="************************************************************"/>
  +    <echo  message=""/>
  +    <javac srcdir="${source.home}"
  +           destdir="${build.home}/classes"
  +           debug="${compile.debug}"
  +           deprecation="${compile.deprecation}"
  +           optimize="${compile.optimize}"
  +           source="${source.version}"
  +           target="${target.version}"
  +           compiler='javac1.4'
  +           fork='yes'
  +           executable='${executable.javac1.4}'>
  +
  +      <classpath refid="compile.classpath"/>
  +    
  +      <include name="org/apache/commons/logging/impl/Jdk13LumberjackLogger.java"
  +               unless="jdk.1.4.present"/>
  +      <include name="org/apache/commons/logging/impl/Jdk14Logger.java"
  +               unless="jdk.1.4.present"/>
  +    </javac>
  +  </target>
  +
  +  <target name="compile-log4j12" depends="prepare,discovery">
  +    <!-- compile the log4j1.2 support classes -->
  +    <javac srcdir="${source.home}"
  +           destdir="${build.home}/classes"
  +           debug="${compile.debug}"
  +           deprecation="${compile.deprecation}"
  +           optimize="${compile.optimize}"
  +           source="${source.version}"
  +           target="${target.version}">
  +
  +      <classpath refid="compile.classpath"/>
  +      <classpath>
  +        <!--
  +        <pathelement refid="compile.classpath"/>
  +        <classpath refid="compile.classpath"/>
  +        -->
  +        <pathelement location="${log4j12.jar}"/> 
  +      </classpath>
  +
  +      <include name="org/apache/commons/logging/impl/Log4JLogger.java"
  +               if="log4j12.present"/>
  +    </javac>
  +  </target>
  +
  +  <target name="compile-log4j13" depends="prepare,discovery">
  +    <!-- compile the log4j1.3 support classes -->
  +    <javac srcdir="${source.home}"
  +           destdir="${build.home}/classes"
  +           debug="${compile.debug}"
  +           deprecation="${compile.deprecation}"
  +           optimize="${compile.optimize}"
  +           source="${source.version}"
  +           target="${target.version}">
  +
  +      <classpath refid="compile.classpath"/>
  +      <classpath>
  +        <pathelement location="${log4j13.jar}"/> 
  +      </classpath>
  +
  +    <!--
  +      - Note: log4j13 support not available in 1.1 release. However if we do add it
  +      - in a future release, this entry will pick it up. In the meantime, this
  +      - simply compiles no classes.
  +      -->
  +      <include name="org/apache/commons/logging/impl/Log4J13Logger.java"
  +               if="log4j13.present"/>
  +    </javac>
  +  </target>
  +
  +  <target name="build-jar">
       <copy  todir="${build.home}/classes" filtering="on">
         <fileset dir="${source.home}" excludes="**/*.java"/>
       </copy>
  @@ -301,24 +462,37 @@
       <copy      file="NOTICE.txt"
                 todir="${build.home}/classes/META-INF"/>
   
  -    <jar jarfile="${build.home}/commons-${component.name}.jar"
  +    <jar jarfile="${build.home}/${core.jar.name}"
            basedir="${build.home}/classes"
            manifest="${build.home}/conf/MANIFEST.MF">
         <include name="org/apache/commons/logging/**" />
         <include name="META-INF/LICENSE.txt"/>
         <include name="META-INF/NOTICE.txt"/>
  +      <exclude name="**/package.html"/>
       </jar>
   
  -    <jar jarfile="${build.home}/commons-${component.name}-api.jar"
  +    <jar jarfile="${build.home}/${api.jar.name}"
            basedir="${build.home}/classes"
            manifest="${build.home}/conf/MANIFEST.MF">
         <include name="org/apache/commons/logging/*.class" />
         <include name="org/apache/commons/logging/impl/LogFactoryImpl*.class" />
  -      <include name="org/apache/commons/logging/impl/Jdk14*.class" />
  +      <include name="org/apache/commons/logging/impl/WeakHashtable*.class" />
         <include name="org/apache/commons/logging/impl/SimpleLog*.class" />
         <include name="org/apache/commons/logging/impl/NoOpLog*.class" />
  +      <include name="org/apache/commons/logging/impl/Jdk14Logger.class" />
         <include name="META-INF/LICENSE.txt"/>
         <include name="META-INF/NOTICE.txt"/>
  +      <exclude name="**/package.html"/>
  +    </jar>
  +
  +    <jar jarfile="${build.home}/${adapters.jar.name}"
  +         basedir="${build.home}/classes"
  +         manifest="${build.home}/conf/MANIFEST.MF">
  +      <include name="org/apache/commons/logging/impl/**.class" />
  +      <include name="META-INF/LICENSE.txt"/>
  +      <include name="META-INF/NOTICE.txt"/>
  +      <exclude name="org/apache/commons/logging/impl/WeakHashtable*.class" />
  +      <exclude name="org/apache/commons/logging/impl/LogFactoryImpl.class" />
       </jar>
     </target>
   
  @@ -333,14 +507,22 @@
       </javac>
     </target>
   
  -  <target name='compile.log4j.tests' if='log4j.present'>
  +  <target name='compile.log4j.tests' if='log4j12.present'>
       <javac  srcdir="${test.home}"
              destdir="${build.home}/tests"
                debug="${compile.debug}"
          deprecation="${compile.deprecation}"
             optimize="${compile.optimize}">
  -      <classpath refid="test.classpath"/>
  +      <classpath refid="test.classpath.log4j12"/>
           <include name='**/log4j/**'/>
  +        <!-- NOTE -->
  +        <!--
  +        Pathable tests do not reference the Log4J Logger directly
  +        but try to load them by reflection from particular loaders.
  +        They will therefore fail unless this logger is available.
  +        -->
  +    	<include name='**/pathable/**'/>
  +    	<!-- END NOTE -->
       </javac>
     </target>
   
  @@ -356,6 +538,17 @@
       </javac>
     </target>
   
  +  <target name='compile.logkit.tests' if='logkit.present'>
  +	 <javac  srcdir="${test.home}"
  +	           destdir="${build.home}/tests"
  +	             debug="${compile.debug}"
  +	       deprecation="${compile.deprecation}"
  +	          optimize="${compile.optimize}">
  +	    <classpath refid="test.classpath"/>
  +	    <include name='**/logkit/**'/>
  +	 </javac>
  +  </target>
  +	
     <target name="compile.tests" depends="compile"
      description="Compile unit test cases">
       <javac  srcdir="${test.home}"
  @@ -366,11 +559,21 @@
         <classpath refid="test.classpath"/>
         <exclude name='**/jdk14/**'/>
         <exclude name='**/log4j/**'/>
  +      <!-- NOTE -->
  +      <!--
  +      Pathable tests do not reference the Log4J Logger directly
  +      but try to load them by reflection from particular loaders.
  +      They will therefore fail unless this logger is available.
  +      -->
  +      <exclude name='**/pathable/**'/>
  +      <!-- END NOTE -->
         <exclude name='**/avalon/**'/>
  +      <exclude name='**/logkit/**'/>
       </javac>
       <antcall target='compile.log4j.tests'/>
       <antcall target='compile.jdk1.4.tests'/>
       <antcall target='compile.avalon.tests'/>
  +  	<antcall target='compile.logkit.tests'/>
       <copy    todir="${build.home}/tests" filtering="on">
         <fileset dir="${test.home}" excludes="**/*.java"/>
       </copy>
  @@ -378,9 +581,9 @@
            basedir="${build.home}/tests"
           manifest="${build.home}/conf/MANIFEST.MF">
         <include name="org/apache/commons/logging/log4j/CustomConfig.properties"
  -                 if="log4j.present"/>
  +                 if="log4j12.present"/>
         <include name="org/apache/commons/logging/log4j/TestAppender.class"
  -                 if="log4j.present"/>
  +                 if="log4j12.present"/>
       </jar>
       <jar jarfile="${build.home}/commons-${component.name}-tests.jar"
            basedir="${build.home}/tests"
  @@ -400,531 +603,174 @@
     </target>
   
   
  -  <target name="clean"
  -   description="Clean build and distribution directories">
  -    <delete    dir="${build.home}"/>
  +  <target name="clean" description="Clean build and distribution directories">
  +    <mkdir dir='${build.home}'/>
  +    <delete includeemptydirs='yes'>
  +      <fileset dir="${build.home}" excludes='docs/**/*'/>
  +    </delete>
       <delete    dir="${dist.home}"/>
  +    <delete    dir="${artifacts.home}"/>
     </target>
   
   
  -  <target name="all" depends="clean,compile"
  +  <target name="all" depends="clean,compile,test"
      description="Clean and compile all components"/>
   
   
  -  <target name="javadoc" depends="compile"
  -   description="Create component Javadoc documentation">
  -    <mkdir      dir="${dist.home}"/>
  -    <mkdir      dir="${dist.home}/docs"/>
  -    <mkdir      dir="${dist.home}/docs/api"/>
  -    <javadoc sourcepath="${source.home}"
  -                destdir="${dist.home}/docs/api"
  -               overview="${source.home}/overview.html"
  -           packagenames="org.apache.commons.*"
  -                 author="true"
  -                private="true"
  -                version="true"
  -               doctitle="&lt;h1&gt;${component.title} (Version ${component.version})&lt;/h1&gt;"
  -            windowtitle="${component.title} (Version ${component.version})"
  -                 bottom='Copyright 2002-2004 The Apache Software Foundation.&lt;!--
  -
  -Licensed 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.--&gt;'>
  -      <classpath refid="test.classpath"/>
  -    </javadoc>
  +  <target name="maven-docs-warning" unless="maven.generated.docs.present" depends="discovery">
  +    <echo>
  +    *** WARNING ***
  +    Maven generated documentation not found: Documentation distribution will be empty
  +    </echo>
     </target>
   
   
  -  <target name="dist" depends="compile,javadoc"
  +  <target name="dist" depends="all,maven-docs-warning"
      description="Create binary distribution">
  +  
  +    <!--
  +      - Maven is used to generate the documentation.
  +      - However, we cannot assume that it has been run.
  +      - So, create the appropriate directories.
  +      -->
  +    <mkdir dir='${build.home}'/>
  +    <mkdir dir='${build.home}/docs'/>
  +    <mkdir dir='${build.home}/docs/apidocs'/>
  +  
  +    <!--
  +      - Create a dist directory to hold all the files that go into a distribution.
  +      - Copy the needed files from the build directory to the dist directory.
  +      -->
       <mkdir      dir="${dist.home}"/>
  -    <copy      file="LICENSE.txt"
  -              todir="${dist.home}"/>
  -    <copy      file="NOTICE.txt"
  -              todir="${dist.home}"/>
  -    <copy      file="RELEASE-NOTES.txt"
  -              todir="${dist.home}"/>
  -    <copy file="${build.home}/commons-${component.name}.jar"
  -          tofile="${dist.home}/commons-${component.name}.jar" />
  -    <copy file="${build.home}/commons-${component.name}-api.jar"
  -          tofile="${dist.home}/commons-${component.name}-api.jar" />
  +    <copy todir="${dist.home}">
  +      <fileset dir=".">
  +        <include name="LICENSE.txt"/>
  +        <include name="NOTICE.txt"/>
  +        <include name="RELEASE-NOTES.txt"/>
  +      </fileset>
  +      <fileset dir="${build.home}">
  +        <include name="${core.jar.name}"/>
  +        <include name="${api.jar.name}"/>
  +        <include name="${adapters.jar.name}"/>
  +      </fileset>
  +    </copy>
  +  
  +    <!-- Copy documentation generated by maven -->
  +    <mkdir dir="${dist.home}/docs"/>
  +    <copy todir="${dist.home}/docs">
  +      <fileset dir="${build.home}/docs"/>
  +    </copy>
  +  
  +    <!--
  +      - And copy the source too; we don't have separate source and binary distributions
  +      - for logging; the source is so small there's little point.
  +      -->
       <mkdir      dir="${dist.home}/src"/>
       <copy     todir="${dist.home}/src" filtering="on">
         <fileset  dir="${source.home}"/>
       </copy>
  +    <zip destfile='${dist.home}/${src.ide.name}'>
  +      <zipfileset dir='${dist.home}/src'/>
  +      <zipfileset dir='${dist.home}/docs/apidocs'/>
  +      <zipfileset dir='${dist.home}' prefix='META-INF'>
  +          <include name="LICENSE.txt"/>
  +          <include name="NOTICE.txt"/>
  +      </zipfileset>
  +    </zip>
  +  
  +    <!-- Create release artifacts in the artifacts directory -->
  +    <mkdir dir="${artifacts.home}"/>
  +    <fixcrlf srcdir='${dist.home}' eol='dos' includes='**/*.txt,**/*.java,**/*.html'/>
  +    <zip destfile='${artifacts.home}/${windows.dist.name}'>
  +      <zipfileset dir='${dist.home}' prefix='commons-${component.name}-${component.version}'/>
  +    </zip>
  +    <fixcrlf srcdir='${dist.home}' eol='unix' includes='**/*.txt,**/*.java,**/*.html'/>
  +    <tar compression="gzip" destfile='${artifacts.home}/${nix.dist.name}' longfile='gnu'>
  +      <tarfileset dir='${dist.home}' prefix='commons-${component.name}-${component.version}'/>
  +    </tar>
  +    <copy todir="${artifacts.home}">
  +      <fileset dir="${build.home}">
  +        <include name="${core.jar.name}"/>
  +        <include name="${api.jar.name}"/>
  +        <include name="${adapters.jar.name}"/>
  +      </fileset>
  +    </copy>
     </target>
   
   
   <!-- ========== Unit Test Targets ========================================= -->
   
   
  -  <target name="test"
  -       depends="log4j12-warning, compile.tests,test.jdk14,test.log4j,test.simple,test.avalon,test.log4j12"
  -            if="test.entry"
  -   description="Run all unit test cases">
  -      <java    classname="${test.runner}" fork="yes"
  -             failonerror="${test.failonerror}">
  -        <arg       value="${test.entry}"/>
  -        <classpath refid="test.classpath"/>
  -      </java>
  -  </target>
  -
  -
  -  <target name="test.jdk14" depends="compile.tests" if="jdk.1.4.present"
  -   description="Run unit tests specific to JDK 1.4 logging">
  -
  -    <echo message="Default Configuration (JDK 1.4 Auto-Recognized)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <arg value="org.apache.commons.logging.jdk14.DefaultConfigTestCase"/>
  -      <classpath refid="test.classpath.jdk14"/>
  -    </java>
  -
  -    <echo message="Default Configuration (JDK 1.4 LogFactoryImpl Selected)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.LogFactory"
  -                 value="org.apache.commons.logging.impl.LogFactoryImpl"/>
  -      <arg value="org.apache.commons.logging.jdk14.DefaultConfigTestCase"/>
  -      <classpath refid="test.classpath.jdk14"/>
  -    </java>
  -
  -    <echo message="Default Configuration (JDK 1.4 Jdk14Logger Selected)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.Jdk14Logger"/>
  -      <arg value="org.apache.commons.logging.jdk14.DefaultConfigTestCase"/>
  -      <classpath refid="test.classpath.jdk14"/>
  -    </java>
  -
  -    <echo message="Custom Configuration (JDK 1.4 Auto-Recognized)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <arg value="org.apache.commons.logging.jdk14.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath.jdk14"/>
  -    </java>
  -
  -    <echo message="Custom Configuration (JDK 1.4 LogFactoryImpl Selected)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.LogFactory"
  -                 value="org.apache.commons.logging.impl.LogFactoryImpl"/>
  -      <arg value="org.apache.commons.logging.jdk14.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath.jdk14"/>
  -    </java>
  -
  -    <echo message="Custom Configuration (JDK 1.4 Jdk14Logger Selected)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.Jdk14Logger"/>
  -      <arg value="org.apache.commons.logging.jdk14.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath.jdk14"/>
  -    </java>
  -    
  -    <echo message="Basic Operations"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.Jdk14Logger"/>
  -      <arg value="org.apache.commons.logging.BasicOperationsTest"/>
  -      <classpath refid="test.classpath.log4j"/>
  -    </java>
  -
  -
  -    <echo message="Hierarchy Configuration API (JDK 1.4 Auto-Recognized)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="API"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.jdk14.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration API (JDK 1.4 LogFactoryImpl Selected)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="API"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.jdk14.CustomConfigTestCase"/>
  -      <sysproperty key="org.apache.commons.logging.LogFactory"
  -                 value="org.apache.commons.logging.impl.LogFactoryImpl"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration API (JDK 1.4 Jdk14Logger Selected)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="API"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.jdk14.CustomConfigTestCase"/>
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.Jdk14Logger"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration FULL (JDK 1.4 Auto-Recognized)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="FULL"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.jdk14.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration FULL (JDK 1.4 LogFactoryImpl Selected)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="FULL"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.jdk14.CustomConfigTestCase"/>
  -      <sysproperty key="org.apache.commons.logging.LogFactory"
  -                 value="org.apache.commons.logging.impl.LogFactoryImpl"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration FULL (JDK 1.4 Jdk14Logger Selected)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="FULL"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.jdk14.CustomConfigTestCase"/>
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.Jdk14Logger"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -  </target>
  -
  -
  -  <target name="test.log4j" depends="compile.tests" if="log4j.present"
  -   description="Run unit tests specific to Log4J logging">
  -
  -    <echo message="Default Configuration (Log4J Auto-Recognized)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <arg value="org.apache.commons.logging.log4j.DefaultConfigTestCase"/>
  -      <classpath refid="test.classpath.log4j"/>
  -    </java>
  -
  -    <echo message="Default Configuration (Log4J LogFactoryImpl Selected)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.LogFactory"
  -                 value="org.apache.commons.logging.impl.LogFactoryImpl"/>
  -      <arg value="org.apache.commons.logging.log4j.DefaultConfigTestCase"/>
  -      <classpath refid="test.classpath.log4j"/>
  -    </java>
  -
  -    <echo message="Default Configuration (Log4J Log4JLogger Selected)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.Log4JLogger"/>
  -      <arg value="org.apache.commons.logging.log4j.DefaultConfigTestCase"/>
  -      <classpath refid="test.classpath.log4j"/>
  -    </java>
  -
  -    <echo message="Custom Configuration (Log4J Auto-Recognized)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <arg value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath.log4j"/>
  -    </java>
  -
  -    <echo message="Custom Configuration (Log4J LogFactoryImpl Selected)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.LogFactory"
  -                 value="org.apache.commons.logging.impl.LogFactoryImpl"/>
  -      <arg value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath.log4j"/>
  -    </java>
  -
  -    <echo message="Custom Configuration (Log4J Log4JLogger Selected)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.Log4JLogger"/>
  -      <arg value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath.log4j"/>
  -    </java>
  -    
  -    <echo message="Basic Operations"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.Log4JLogger"/>
  -      <arg value="org.apache.commons.logging.BasicOperationsTest"/>
  -      <classpath refid="test.classpath.log4j"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration API (Log4J Auto-Recognized)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="API"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.log4j" value="${log4j.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration API (Log4J LogFactoryImpl Selected)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="API"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.log4j" value="${log4j.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <sysproperty key="org.apache.commons.logging.LogFactory"
  -                 value="org.apache.commons.logging.impl.LogFactoryImpl"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration API (Log4J Log4JLogger Selected)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="API"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.log4j" value="${log4j.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.Log4JLogger"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration FULL (Log4J Auto-Recognized)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="FULL"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.log4j" value="${log4j.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration FULL (Log4J LogFactoryImpl Selected)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="FULL"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.log4j" value="${log4j.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <sysproperty key="org.apache.commons.logging.LogFactory"
  -                 value="org.apache.commons.logging.impl.LogFactoryImpl"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration FULL (Log4J Log4JLogger Selected)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="FULL"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.log4j" value="${log4j.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.Log4JLogger"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -  </target>
  -
  -
  -  <target name="test.simple" depends="compile.tests"
  -   description="Run unit tests specific to SimpleLog logging">
  -
  -    <echo message="Default Configuration (SimpleLog Selected)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.SimpleLog"/>
  -      <arg value="org.apache.commons.logging.simple.DefaultConfigTestCase"/>
  -      <classpath refid="test.classpath"/>
  -    </java>
  -
  -    <echo message="Custom Configuration (SimpleLog Selected)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.simple.DecoratedSimpleLog"/>
  -      <sysproperty key="org.apache.commons.logging.simplelog.defaultlog"
  -                 value="debug"/>
  -      <arg value="org.apache.commons.logging.simple.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath"/>
  -    </java>
  -    
  -    <echo message="Custom Configuration With DateTime (SimpleLog Selected)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.simple.DecoratedSimpleLog"/>
  -      <sysproperty key="org.apache.commons.logging.simplelog.defaultlog"
  -                 value="debug"/>
  -      <sysproperty key="org.apache.commons.logging.simplelog.dateTimeFormat"
  -                 value="dd.mm.yyyy"/>
  -      <sysproperty key="org.apache.commons.logging.simplelog.showdatetime"
  -                 value="true"/>                 
  -      <arg value="org.apache.commons.logging.simple.DateTimeCustomConfigTestCase"/>
  -      <classpath refid="test.classpath"/>
  -    </java>
  -    
  -    <echo message="Basic Operations"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.SimpleLog"/>
  -      <arg value="org.apache.commons.logging.BasicOperationsTest"/>
  -      <classpath refid="test.classpath"/>
  -    </java>
  -
  -  </target>
  -
  -
  -  <target name="test.avalon" depends="compile.tests" if="avalon-framework.present"
  -   description="Run unit tests specific to Avalon (Framework) logging">
  +  <!--
  +    - Target to run all unit tests.
  +    -
  +    - The batchtest task auto-detects what tests are available without
  +    - any need to define TestSuite objects in the code to compose
  +    - sets of tests to be run.
  +    -
  +    - Details of the unit test results for each TestCase will appear in
  +    - a file in directory ${build.home}/test-reports, together with any
  +    - output to stdout or stderr generated by the test code.
  +    -
  +    - If you're having problems running this target due to the use of
  +    - the "junit" task below, see the comments at the head of this file.
  +    - 
  +    - Individual tests (or subsets of tests) can be run by doing
  +    -   ant -Dtestmatch=**/FooTestCase testall
  +    -->
   
  -    <echo message="Avalon Tests"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <arg value="org.apache.commons.logging.avalon.AvalonLoggerTest"/>
  +  <target name="test" depends="log4j12-test-warning, compile.tests"
  +   description="Run all unit tests">
  +    <echo message="Test output can be found in directory ${build.home}/test-reports."/>
  +    <delete dir="${build.home}/test-reports"/>
  +    <mkdir dir="${build.home}/test-reports"/>
  +
  +      <echo message="executing tests [${testmatch}.java]"/>
  +    <!--
  +      - Note that the fork/forkmode settings define default behaviour for tests. 
  +      - The <test> and <batchtest> tags can override these settings if needed.
  +      - The default settings cause a single VM to be created in which all of
  +      - the tests are then run. 
  +      -->
  +    <junit printsummary="off" showoutput="no" fork="yes" forkmode="once" failureproperty="test.failure">
  +      <!-- plain output to file; brief output to console. -->
  +      <formatter type="plain"/>
  +      <formatter usefile="false" type="brief"/>
  +
  +      <!-- 
  +        - Provide a set of properties pointing to the logging libs for
  +        - the use of the PathableClassLoader class used by some unit tests.
  +        -->
  +      <syspropertyset refid="test-lib-props"/>
         <classpath refid="test.classpath"/>
  -    </java>
  -    
  -  </target>
   
  +      <!--
  +        - Uncomment this to enable logging diagnostics for tests
  +        - <jvmarg value="-Dorg.apache.commons.logging.diagnostics.dest=STDERR"/>
  +        -->
   
  -  <target name="test.log4j12" depends="compile.tests" if="log4j12.jar"
  -   description="Run unit tests specific to Log4J logging Version 1.2">
  -
  -    <echo message="Default Configuration (Log4J Auto-Recognized)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <arg value="org.apache.commons.logging.log4j.DefaultConfigTestCase"/>
  -      <classpath refid="test.classpath.log4j12"/>
  -    </java>
  -
  -    <echo message="Default Configuration (Log4J LogFactoryImpl Selected)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.LogFactory"
  -                 value="org.apache.commons.logging.impl.LogFactoryImpl"/>
  -      <arg value="org.apache.commons.logging.log4j.DefaultConfigTestCase"/>
  -      <classpath refid="test.classpath.log4j12"/>
  -    </java>
  -
  -    <echo message="Default Configuration (Log4J Log4JLogger Selected)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.Log4JLogger"/>
  -      <arg value="org.apache.commons.logging.log4j.DefaultConfigTestCase"/>
  -      <classpath refid="test.classpath.log4j12"/>
  -    </java>
  -
  -    <echo message="Custom Configuration (Log4J Auto-Recognized)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <arg value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath.log4j12"/>
  -    </java>
  -
  -    <echo message="Custom Configuration (Log4J LogFactoryImpl Selected)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.LogFactory"
  -                 value="org.apache.commons.logging.impl.LogFactoryImpl"/>
  -      <arg value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath.log4j12"/>
  -    </java>
  -
  -    <echo message="Custom Configuration (Log4J Log4JLogger Selected)"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.Log4JLogger"/>
  -      <arg value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath.log4j12"/>
  -    </java>
  -    
  -    <echo message="Basic Operations"/>
  -    <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.Log4JLogger"/>
  -      <arg value="org.apache.commons.logging.BasicOperationsTest"/>
  -      <classpath refid="test.classpath.log4j12"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration API (Log4J Auto-Recognized)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="API"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.log4j" value="${log4j.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration API (Log4J LogFactoryImpl Selected)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="API"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.log4j" value="${log4j.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <sysproperty key="org.apache.commons.logging.LogFactory"
  -                 value="org.apache.commons.logging.impl.LogFactoryImpl"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration API (Log4J Log4JLogger Selected)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="API"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.log4j" value="${log4j.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.Log4JLogger"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration FULL (Log4J Auto-Recognized)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="FULL"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.log4j" value="${log4j12.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration FULL (Log4J LogFactoryImpl Selected)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="FULL"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.log4j" value="${log4j12.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <sysproperty key="org.apache.commons.logging.LogFactory"
  -                 value="org.apache.commons.logging.impl.LogFactoryImpl"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  -    <echo message="Hierarchy Configuration FULL (Log4J Log4JLogger Selected)"/>
  -    <java classname="${test.wrapper}" fork="yes" failonerror="${test.failonerror}">
  -      <sysproperty key="wrapper.hierarchy" value="FULL"/>
  -      <sysproperty key="wrapper.junit" value="${junit.jar}"/>
  -      <sysproperty key="wrapper.log4j" value="${log4j12.jar}"/>
  -      <sysproperty key="wrapper.target" value="${build.home}"/>
  -      <sysproperty key="wrapper.testcase"
  -                 value="org.apache.commons.logging.log4j.CustomConfigTestCase"/>
  -      <sysproperty key="org.apache.commons.logging.Log"
  -                 value="org.apache.commons.logging.impl.Log4JLogger"/>
  -      <classpath refid="test.classpath.wrap"/>
  -    </java>
  -
  +      <!--
  +        - Auto-detect the tests to run. Checking the ${build.home}/tests
  +        - directory for .class files rather than the src/test directory
  +        - for .java files means that when we run the tests on platforms
  +        - where some components (eg jdk14 logging) is not available, 
  +        - just ensuring the tests are skipped from the compile will
  +        - also cause them to be skipped from the testing.
  +        -
  +        - This does introduce the danger that if tests accidentally
  +        - fail to compile then we won't notice it here. However that
  +        - should have been reported earlier anyway.
  +        -->
  +      <batchtest todir="${build.home}/test-reports">
  +        <fileset dir="${build.home}/tests">
  +          <include name="${testmatch}.class"/>
  +        </fileset>
  +      </batchtest>
  +    </junit>
  +
  +    <fail if="test.failure">
  +      One or more unit tests failed.
  +    </fail>
     </target>
   
  -
   </project>
  
  
  
  1.2       +288 -199  apache/commons-logging/project.xml
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: project.xml
  ===================================================================
  RCS file: /cvsroot/jboss/apache/commons-logging/project.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- project.xml	17 Apr 2006 21:00:04 -0000	1.1
  +++ project.xml	9 Feb 2007 06:57:16 -0000	1.2
  @@ -1,7 +1,7 @@
   <?xml version="1.0" encoding="UTF-8"?>
   <!--
   
  - Copyright 2001-2004 The Apache Software Foundation.
  + Copyright 2001-2005 The Apache Software Foundation.
    
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
  @@ -20,8 +20,9 @@
     <pomVersion>3</pomVersion>
     
     <name>Logging</name>
  -  <id>commons-logging</id>
  -  <currentVersion>1.0.4-dev</currentVersion>
  +  <groupId>commons-logging</groupId>
  +  <artifactId>commons-logging</artifactId>
  +  <currentVersion>1.1</currentVersion>
     <inceptionYear>2001</inceptionYear>
     <shortDescription>Commons Logging</shortDescription>
     <description>
  @@ -49,28 +50,56 @@
     
     <gumpRepositoryId>jakarta</gumpRepositoryId>
     <issueTrackingUrl>http://issues.apache.org/bugzilla/</issueTrackingUrl>
  -  <siteAddress>jakarta.apache.org</siteAddress>
  +  <siteAddress>cvs.apache.org</siteAddress>
     <siteDirectory>/www/jakarta.apache.org/commons/${pom.artifactId.substring(8)}/</siteDirectory>
     <distributionDirectory>/www/jakarta.apache.org/builds/jakarta-commons/${pom.artifactId.substring(8)}/</distributionDirectory>
     
     <repository>
       <!--<connection>scm:cvs:${logging.cvs}:jakarta-commons/logging/</connection>-->
  -    <connection>scm:cvs:pserver:anoncvs at cvs.apache.org:/home/cvspublic:jakarta-commons/${pom.artifactId.substring(8)}</connection>
  -    <url>http://cvs.apache.org/viewcvs/jakarta-commons/${pom.artifactId.substring(8)}/</url>
  +    <connection>scm:svn:http://svn.apache.org/repos/asf/jakarta/commons/proper/${pom.artifactId.substring(8)}/trunk</connection>
  +    <url>http://svn.apache.org/repos/asf/jakarta/commons/proper/${pom.artifactId.substring(8)}/trunk</url>
     </repository>
     
  +  <versions>
  +      <version>
  +          <id>1.0.1</id>
  +          <name>1.0.1</name>
  +          <tag>LOGGING_1_0_1</tag>
  +      </version>
  +      <version>
  +          <id>1.0.2</id>
  +          <name>1.0.2</name>
  +          <tag>LOGGING_1_0_2</tag>
  +      </version>      
  +      <version>
  +          <id>1.0.3</id>
  +          <name>1.0.3</name>
  +          <tag>LOGGING_1_0_3</tag>
  +      </version>
  +      <version>
  +          <id>1.0.4</id>
  +          <name>1.0.4</name>
  +          <tag>LOGGING_1_0_4</tag>
  +      </version>
  +      <version>
  +          <id>1.1</id>
  +          <name>1.1</name>
  +          <tag>LOGGING_1_1_0</tag>
  +      </version>
  +  </versions>
  +  
     <mailingLists>
       <mailingList>
         <name>Commons Dev List</name>
         <subscribe>commons-dev-subscribe at jakarta.apache.org</subscribe>
         <unsubscribe>commons-dev-unsubscribe at jakarta.apache.org</unsubscribe>
  -      <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=commons-dev@jakarta.apache.org</archive>
  +      <archive>http://mail-archives.apache.org/mod_mbox/jakarta-commons-dev/</archive>
       </mailingList>
       <mailingList>
         <name>Commons User List</name>
         <subscribe>commons-user-subscribe at jakarta.apache.org</subscribe>
         <unsubscribe>commons-user-unsubscribe at jakarta.apache.org</unsubscribe>
  -      <archive>http://nagoya.apache.org/eyebrowse/SummarizeList?listName=commons-user@jakarta.apache.org</archive>
  +      <archive>http://mail-archives.apache.org/mod_mbox/jakarta-commons-user/</archive>
       </mailingList>
     </mailingLists>
   
  @@ -133,30 +162,91 @@
           <role>Java Developer</role>
         </roles>
       </developer>
  +    <developer>
  +      <name>Simon Kitching</name>
  +      <id>skitching</id>
  +      <email>skitching at apache.org</email>
  +      <organization>Apache Software Foundation</organization>
  +    </developer>
  +    <developer>
  +      <name>Dennis Lundberg</name>
  +      <id>dennisl</id>
  +      <email>dennisl at apache.org</email>
  +      <organization>Apache Software Foundation</organization>
  +    </developer>
  +    <developer>
  +      <name>Brian Stansberry</name>
  +      <id>bstansberry</id>
  +    </developer>
     </developers>
     
     <dependencies>
       
       <dependency>
  -      <id>log4j</id>
  -      <version>1.2.6</version>
  +      <groupId>log4j</groupId>
  +      <artifactId>log4j</artifactId>
  +      <version>1.2.12</version>
  +      <url>http://logging.apache.org/log4j/docs/index.html</url>
  +      <properties>
  +        <comment>
  +Runtime Optional. 
  +1.2.12 required for compilation but 1.2.6 onwards supported at runtime.</comment>
  +      </properties>
       </dependency>
       
       <dependency>
  -      <id>logkit</id>
  +      <groupId>logkit</groupId>
  +      <artifactId>logkit</artifactId>
         <version>1.0.1</version>
  +      <url>http://avalon.apache.org/logkit/</url>
  +      <properties>
  +        <comment>Runtime Optional</comment>
  +      </properties>
       </dependency>
   
       <dependency>
  -      <id>junit</id>
  -      <version>3.7</version>
  +      <groupId>junit</groupId>
  +      <artifactId>junit</artifactId>
  +      <version>3.8.1</version>
  +      <url>http://www.junit.org/index.htm</url>
  +      <properties>
  +        <comment>Used for testing only.</comment>
  +        <scope>test</scope>
  +      </properties>
       </dependency>
       
       <dependency>
  -      <id>avalon-framework</id>
  +      <groupId>avalon-framework</groupId>
  +      <artifactId>avalon-framework</artifactId>
         <version>4.1.3</version>
  +      <url>http://avalon.apache.org/</url>
  +      <properties>
  +        <comment>Runtime Optional</comment>
  +      </properties>
  +    </dependency>
  +    
  +    <dependency>
  +      <groupId>javax.servlet</groupId>
  +      <artifactId>servlet-api</artifactId>
  +      <version>2.3</version>
  +      <url>http://java.sun.com/products/servlet/</url>
  +      <properties>
  +        <comment>Used only by servlet filter. Not used by core logging implementation.</comment>
  +      </properties>
       </dependency>
       
  +    <dependency>
  +      <groupId>maven</groupId>
  +      <artifactId>maven-xdoc-plugin</artifactId>
  +      <version>1.9.2</version>
  +      <url>http://maven.apache.org/maven-1.x/reference/plugins/xdoc/</url>
  +      <type>plugin</type>
  +      <properties>
  +          <comment>
  +              &lt;strong&gt;Site Only&lt;/strong&gt; - v1.9.2 (minimum)
  +          </comment>
  +      </properties>
  +    </dependency>
     </dependencies>
     <build>
        <nagEmailAddress>commons-dev at jakarta.apache.org</nagEmailAddress>
  @@ -177,13 +267,9 @@
   before the tests are run.
   There is no easy way to run these under maven at the moment.
           -->
  -        <directory>${pom.build.unitTestSourceDirectory}</directory>
           <includes>
               <include>**/AvalonLoggerTest.java</include>
           </includes>
  -        <resources>
  -            <resource>**/*.properties</resource>
  -        </resources>
       </unitTest>
     </build>
   
  @@ -193,7 +279,10 @@
       <report>maven-junit-report-plugin</report>
       <report>maven-jxr-plugin</report>
       <report>maven-license-plugin</report>
  -    <report>maven-tasklist-plugin</report>
  +    <!-- Slow but useful when checking releases 
  +    <report>maven-linkcheck-plugin</report>
  +    -->
  +
     </reports>
     
   </project>
  
  
  
  1.2       +58 -36    apache/commons-logging/build.properties.sample
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: build.properties.sample
  ===================================================================
  RCS file: /cvsroot/jboss/apache/commons-logging/build.properties.sample,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- build.properties.sample	17 Apr 2006 21:00:04 -0000	1.1
  +++ build.properties.sample	9 Feb 2007 06:57:16 -0000	1.2
  @@ -1,4 +1,4 @@
  -# Copyright 2001-2004 The Apache Software Foundation.
  +# Copyright 2001-2004, 2006 The Apache Software Foundation.
   # 
   # Licensed under the Apache License, Version 2.0 (the "License");
   # you may not use this file except in compliance with the License.
  @@ -12,25 +12,47 @@
   # See the License for the specific language governing permissions and
   # limitations under the License.
   
  -# log4j.jar - log4j classes (see http://jakarta.apache.org/log4j)
  -log4j.jar=/java/log4j/log4j.jar
  +######################################################################
  +#
  +# TO USE:
  +# 
  +# Copy this file to build.properties and either
  +#  
  +#    a) Use 'ant getlibs' to populate the default directory 
  +#       with dependencies
  +# or b) Change the property values to appropriate values
  +#
  +########################################################################
   
  -# Used for testing against older 1.2.x Log4J versions
  -log4j12.jar=/java/log4j/log4j-1.2.7.jar
  +# Apache Log4j 1.2.x series
  +log4j12.jar=lib/log4j-1.2.12.jar
  +
  +# Apache Log4j 1.3.x series
  +# Note: Log4j 1.3 support not available in the 1.1 release
  +#log4j13.jar=lib/log4j-1.3.0.jar
   
   # logkit.jar - Avalon LogKit classes (see http://jakarta.apache.org/avalon)
  -logkit.jar=/java/logkit/logkit.jar
  +logkit.jar=lib/logkit-1.0.1.jar
   
   # Avalon framework - used for wrapper for avalon framework logger
  -avalon-framework.jar=../../Avalon-4.1.4/avalon-framework-4.1.4.jar
  +avalon-framework.jar=lib/avalon-framework-4.1.3.jar
  +
  +# ServletApi - used to build ServletContextCleaner class
  +servletapi.jar=lib/servletapi-2.3.jar
   
   #
   # if you want to run the test cases, junit needs to be in the classpath.
   # the build.xml uses a default value so you might not need to set this property.
  +# Note that version junit 3.8 is required and 3.8.1 recommended.
   #
  -# junit.jar=../../jakarta-velocity/build/lib/junit-3.7.jar
  +junit.jar=lib/junit-3.8.1.jar
   
   # Maven properties (for web site build)
   # Those committers using agents may like to use
   #maven.username=rdonkin
   #logging.cvs=lserver:rdonkin at cvs.apache.org:/home/cvs
  +
  +
  +# The path to a 1.4 JSDK javac
  +# Optional - used when building with a 1.2 JVM for releases
  +# executable.javac1.4=/opt/java/jdks/j2sdk1.4.2_10/bin/javac
  
  
  
  1.2       +202 -202  apache/commons-logging/LICENSE.txt
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: LICENSE.txt
  ===================================================================
  RCS file: /cvsroot/jboss/apache/commons-logging/LICENSE.txt,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  
  
  
  1.2       +120 -120  apache/commons-logging/PROPOSAL.html
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PROPOSAL.html
  ===================================================================
  RCS file: /cvsroot/jboss/apache/commons-logging/PROPOSAL.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  
  
  
  1.2       +3 -3      apache/commons-logging/NOTICE.txt
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: NOTICE.txt
  ===================================================================
  RCS file: /cvsroot/jboss/apache/commons-logging/NOTICE.txt,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  
  
  
  1.2       +42 -42    apache/commons-logging/checkstyle.xml
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: checkstyle.xml
  ===================================================================
  RCS file: /cvsroot/jboss/apache/commons-logging/checkstyle.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  
  
  
  1.2       +34 -26    apache/commons-logging/project.properties
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: project.properties
  ===================================================================
  RCS file: /cvsroot/jboss/apache/commons-logging/project.properties,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- project.properties	17 Apr 2006 21:00:04 -0000	1.1
  +++ project.properties	9 Feb 2007 06:57:16 -0000	1.2
  @@ -1,4 +1,4 @@
  -# Copyright 2001-2004 The Apache Software Foundation.
  +# Copyright 2001-2004, 2006 The Apache Software Foundation.
   # 
   # Licensed under the Apache License, Version 2.0 (the "License");
   # you may not use this file except in compliance with the License.
  @@ -13,14 +13,22 @@
   # limitations under the License.
   #
   
  +maven.changelog.factory=org.apache.maven.svnlib.SvnChangeLogFactory
   
   # documentation properties
  -maven.xdoc.jsl=../commons-build/commons-site.jsl
   maven.xdoc.date=left
   maven.xdoc.version=${pom.currentVersion}
   maven.xdoc.developmentProcessUrl=http://jakarta.apache.org/commons/charter.html
   maven.xdoc.poweredby.image=maven-feather.png
   
  +# Jar Manifest Additional Attributes
  +maven.jar.manifest.attributes.list=Implementation-Vendor-Id,X-Compile-Source-JDK,X-Compile-Target-JDK
  +maven.jar.manifest.attribute.Implementation-Vendor-Id=org.apache
  +maven.jar.manifest.attribute.X-Compile-Source-JDK=${maven.compile.source}
  +maven.jar.manifest.attribute.X-Compile-Target-JDK=${maven.compile.target}
  +
   maven.junit.fork=true
   
  -logging.cvs=pserver:anoncvs at cvs.apache.org:/home/cvspublic
  +# generate .class files that can be loaded into a version 1.1 JVM.
  +maven.compile.target=1.1
  +maven.compile.source=1.2
  \ No newline at end of file
  
  
  
  1.2       +222 -124  apache/commons-logging/RELEASE-NOTES.txt
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: RELEASE-NOTES.txt
  ===================================================================
  RCS file: /cvsroot/jboss/apache/commons-logging/RELEASE-NOTES.txt,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- RELEASE-NOTES.txt	17 Apr 2006 21:00:04 -0000	1.1
  +++ RELEASE-NOTES.txt	9 Feb 2007 06:57:16 -0000	1.2
  @@ -1,6 +1,6 @@
   <!--
   
  - Copyright 2001-2004 The Apache Software Foundation.
  + Copyright 2005,2006 The Apache Software Foundation.
    
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
  @@ -16,109 +16,207 @@
   
   -->
   
  -$Id: RELEASE-NOTES.txt,v 1.1 2006/04/17 21:00:04 starksm Exp $
  +$Id: RELEASE-NOTES.txt,v 1.2 2007/02/09 06:57:16 starksm Exp $
   
                              Commons Logging Package
  -                                Version 1.0.4
  +                                Version 1.1.0
                                   Release Notes
   
  -
   INTRODUCTION:
   ============
   
  -This document contains the release notes for this version of the Commons
  -Logging package.  It is primarily a service release for downstream users.
  -The main emphasis maintenance and code cleanup release,
  -with some new features including support for both the old 1.2.x series
  -of Log4J releases and the new 1.3.x series of releases.
  -
  -The following paragraphs document changes since the previous release
  -(version 1.0.3). The documentation (userguide and javadoc) 
  -has also been improved.
  -
  -
  -NEW FEATURES:
  -============
  -
  -[ALL FILES]        This version of Commons Logging is released under the
  -                   Apache License (Version 2.0).  All source files have been
  -                   modified to reflect this.
  -
  -[maven.xml]        Added beginnings of a Maven-based build, primarily for the
  -                   purpose of creating documentation consistent with Mavenized
  -                   commons projects.  The official build system for the software
  -                   is still the Ant "build.xml" file.
  -
  -[AvalonLogger]     Added AvalonLogger, which wraps the logger used by the
  -                   Avalon framework.  As with other implementations, this
  -                   is compiled only if the appropriate dependencies are
  -                   satisfied.
  -
  -[Jdk13LumberjackLogger]
  -                   Added Jdk13LumberjackLogger, which wraps the implementation
  -                   of the JSR-47 logging APIs (for JDKs before 1.4) provided
  -                   by the SourceForge "lumberjack" project.
  -                   <http://sourceforge.net/projects/lumberjack/>
  -
  -[LogFactoryImpl]   If an InvocationTargetException is returned during the
  -                   creation of a new Log instance, unwrap the underlying
  -                   cause and pass it in to the LogConfigurationException
  -                   constructor.  This will make the actual cause of the
  -                   problem easier to diagnose.
  -
  -[LogFactoryImpl]   If the isAssignableFrom() test fails because there is more
  -                   than one instance of org.apache.commons.logging.Log visible
  -                   in the class loader hierarchy, make the exception message
  -                   that is reported explicitly state this, rather than the
  -                   potentially misleading claim that an implementation class
  -                   does not implement Log.
  -
  -[Log4JLogger]      Changes to allow this logger to support both the existing 1.2.x 
  -                   series of releases and also the upcoming 1.3.x series of Log4J
  -                   releases.
  -
  -[SimpleLog]        Added support for setting date-time format.
  -
  -BUG FIXES:
  -=========
  -
  -[MANIFEST.MF]      Remove reference to Log4J from the manifest classpath.
  -
  -[LogConfigurationException]
  -                   Include root cause in the text of the message, if present.
  -
  -[LogFactory]       Improve usability of error messages reporting
  -                   configuration problems.
  -
  -[JDK14Logger]      Implement Serializable, remove "final" declaration for
  -                   easy subclassing.
  -
  -[Log4JLogger]      Implement Serializable, remove "final" declaration for
  -                   easy subclassing.
  -
  -[NoOpLogger]       Implement Serializable, remove "final" declaration for
  -                   easy subclassing.
  -
  -[SimpleLog]        Make SimpleLog more friendly to the security manager
  -                   in an applet environment, by swallowing any security
  -                   exceptions when looking up system properties that are
  -                   not accessible.
  -
  +This release of Jakarta Commons Logging (JCL) is a maintenance release, with a
  +few new configuration features but no major changes in services provided.
   
  +This release introduces significant changes in the way that discovery of
  +logging implementations occurs, and how errors are handled. A number of
  +problems that have troubled users in past releases (particularly the
  +"Log4JLogger does not implement Log" problem) will hopefully be 
  +significantly reduced or cured.
  +
  +This release is 100% compatible with existing code that calls 
  +commons-logging. There are some incompatibilities with code that extends
  +commons-logging, for example to implement custom logging adapters. See
  +the compatibility section for details.
  +
  +All core classes were compiled with a 1.2.x JDK. JCL may work on some 
  +augmented 1.1 series JREs but it is recommended that those wish to run
  +on 1.1 JREs download the source and create a custom implementation by
  +stripping out all the complex classloader management code.
  +
  +For further details, please see the Jakarta Commons Logging website:
  +  http://jakarta.apache.org/commons/logging.
  +
  +For the very latest news, hints, FAQs etc. please see the
  +Jakarta Commons Logging wiki site:
  +  http://wiki.apache.org/jakarta-commons/Logging
  +
  +Note that some containers (some versions of Apache Tomcat and JBoss in
  +particular) prevent webapps, ejbs, etc from overriding the commons-logging
  +implementation provided by the container. This means that bundling this
  +updated implementation with a deployed application may not have any effect.
  +See the commons-logging site and/or the wiki for more information.
  +
  +== New Features ==
  +
  +* Jar files now have release-numbers embedded in the names, for easier management.
  +
  +* New jar file commons-logging-adapters-xxx.jar is now provided. This can be
  +  used to resolve class cast conflicts where parts of commons-logging are
  +  deployed via different classloaders. It is not expected to be frequently
  +  used; it is only necessary in situations where a container has deployed
  +  commons-logging-api.jar and a webapp wants to bind to a third-party
  +  logging implementation such as log4j. In this case, the webapp can
  +  experience problems if it deploys commons-logging.jar as this causes
  +  duplicates of the core commons-logging classes, but commons-logging-adapters
  +  can be safely used.
  +
  +* New internal diagnostics feature. If commons-logging is behaving in an
  +  unexpected manner, you can now set system property
  +    org.apache.commons.logging.diagnostics.dest
  +  to the value STDOUT, STDERR or a filename. As commons-logging initialises
  +  itself for each new contextClassLoader it detects, useful information will
  +  be output about which logging library is bound to and why.
  +  
  +* JCL now prefers to "make a best attempt" in problem scenarios rather than
  +  report an error and fail to initialise. New configurable attributes
  +  ALLOW_FLAWED_HIERARCHY, ALLOW_FLAWED_DISCOVERY and ALLOW_FLAWED_CONTEXT are
  +  provided to control startup behavior. The default values for these are all
  +  true, meaning that commons-logging attempts to recover from bad logging
  +  configuration situations by finding *some* logger to use even when it isn't
  +  quite the one that might be expected. This will significantly reduce the
  +  occurrence of the dreaded LogConfigurationException on application/webapp
  +  startup at the cost of slightly more ambiguity about where output will go.
  +  In cases where no logging output is generated or wanted (which is the case
  +  99% of the time) this is definitely a more convenient approach. Users who
  +  cannot figure out where logging went or why it went to an unexpected
  +  destination can enable diagnostics to find out, or set the ALLOW_FLAWED_
  +  settings to false to force LogConfigurationException to be thrown as in
  +  earlier releases.
  +  
  +* Fix for the problem where memory was not being released under some circumstances
  +  when a webapp was undeployed. An internal change fixes some situations where
  +  that occurs (by using weak references); this requires no action on the part of
  +  users of this library. In addition, a utility class ServletContextCleaner is
  +  provided in the jar file which is expected to resolve this problem in all
  +  situations; however it is necessary for an application to define this class as
  +  a ServletContextListener in the web.xml in order for this to be invoked.
  +
  +* Prioritised commons-logging.properties files. A file with the name
  +  "commons-logging.properties" placed in the classpath can be used to set
  +  various JCL configuration options. In previous releases, the first
  +  such file found in the classpath was used to configure JCL. Now, each file
  +  can have an entry "priority", and the file with the highest priority is used.
  +  Where two files have equal priority, the first one in the classpath is used;
  +  this maintains backwards compatibility.
  +
  +* New feature to disable loading of logging classes via the thread context
  +  classloader (TCCL), on a per-webapp basis. Simply putting an entry
  +  "use_tccl=false" in a commons-logging.properties file will ensure that
  +  all classes used for logging are loaded via the same classloader that
  +  loads the LogFactory class. This resolves any "class cast" issues with
  +  JCL, though at the price of losing some control over logging configuration.
  +
  +* The log4j logging adapter now supports the TRACE level (added to log4j 1.2.12).
  +  Formerly, any calls to log.trace were output at the log4j debug level.
  +
  +* Better behaviour for systems with null classloaders (generally embedded systems).
  +
  +* New zip file containing source and javadocs for those using modern IDEs.
  +
  +== Incompatibilities ==
  +
  +There are no changes for code that calls LogFactory or Log methods. This means
  +that any application which is a simple "user" of the JCL library can safely
  +upgrade to this version.
  +
  +All changes to JCL configuration are backwards compatible.
  +
  +Classes Log4JCategoryLog and Log4jFactory have been removed; these were both
  +deprecated in the 1.0.3 release (April 2003).
  +
  +For code that extends the JCL LogFactoryImpl class, the isXXXAvailable methods
  +in org.apache.commons.logging.impl.LogFactoryImpl are no longer called during
  +discovery by that class. Therefore classes which subclass LogFactoryImpl and
  +override those methods will not have their methods called. This is a pretty
  +unusual thing to do, so it isn't expected that any apps will actually be
  +affected by this.
  +
  +AvalonLog is no longer serializable. The semantics were always deeply 
  +unsatisfactory. It is cleaner and clearer to admit the truth.
  +
  +== Deprecation Note ==
  +
  +Previous releases of commons-logging-api.jar contained the Jdk14Logger class;
  +this is now deprecated. It will be removed from the API jar in some future 
  +release. 
  +
  +== Dependencies ==
  +
  +Commons-logging has no mandatory dependencies.
  +
  +Java 1.2 and later are supported. It may be possible to use this release with
  +java 1.1 but this has not been tested; the unit tests certainly don't run on
  +that version.
  +
  +== Distributed Jar Files ==
  +
  +File commons-logging-nn.jar is the one most people will want. It provides the
  +base implementation and adapters to a number of popular logging libraries.
  +
  +File commons-logging-adapters-nn.jar includes only the adapters to various
  +concrete logging libraries. When commons-logging-nn.jar or
  +commons-logging-api-nn.jar is deployed in a container classpath, then this
  +adapters-only jar file should be deployed in the webapp, not the complete JCL
  +distribution. This ensures that the core Log/LogFactory classes are only
  +deployed via one classloader, thus avoiding "Log4JLogger does not implement Log"
  +and similar problems.
  +
  +File commons-logging-api-nn.jar provides minimal adapters to external logging
  +libraries, just the internally implemented SimpleLog and NoOpLog classes
  +plus Jdk14Logger (which is currently required by Apache Tomcat).
  +
  +This jar file may be used as a declared dependency for projects that care about
  +"transitive dependencies" and can't handle jar files such as commons-logging-nn.jar
  +which have "optional" dependencies depending on how they are used. In addition,
  +this jar file can be useful for "rebundlers" of JCL who recompile the source-code
  +but who may not be able to recompile against the full set of supported adapters;
  +such projects should be able to at least recreate an equivalent of this jar file.
  +
  +== General Notes ==
  +
  +The jakarta commons project has migrated to the Subversion version control system
  +(previously, CVS was used). There should be no effect on users of the JCL
  +library, but obviously the process of examining the latest source code, and of
  +creating patches for JCL has now changed. Please see the jakarta commons
  +website for details (http://jakarta.apache.org/commons).
  +
  +== Bugs Fixed ==
  +
  +* 31597: problem where log4j adapter was in parent classloader but log4j.jar was
  +  in child classloader led to failure to initialise logging has been
  +  fixed.
  +
  +* 31710, 10825: commons-logging now works better in systems where getClassLoader
  +  returns null. This essentially means embedded systems.
  +  
  +* 31818: workaround for bug in java1.2 compiler; code now compiles under 1.2
  +
  +* Log4JCategoryLog has been removed from the main distribution jar; it has been
  +  deprecated for a long while. Replacement class Log4JLogger should be a completely
  +  transparent replacement for all commons-logging users.
  +
  +* package.html files are no longer present in the jar files, removing nuisance
  +  javadoc warnings when building javadoc for apps using jcl.
  +  
  +* In several cases, LogConfigurationException objects were being wrapped in
  +  other LogConfigurationException objects. These have (hopefully) all been
  +  fixed.
   
   DEPRECATIONS:
   ============
   
  -    (These are carried forward from Version 1.0.3)
  +    (These are carried forward from Version 1.0.4)
   
   [LogSource]        Previously deprecated, replaced by LogFactory.
   
  -[Log4jFactory]     A proxy instance of this class was transparently created
  -                   when Log4J logging was selected, yet it serves no useful
  -                   purpose.  The class is now deprecated, and the proxy
  -                   instance is no longer created.
  -
  -[Log4JCategoryLog] This class has been replaced by Log4JLogger, which
  -                   corresponds to the availability of the new Logger class
  -                   in Log4J 1.2 and later.
  -
  
  
  
  1.1      date: 2007/02/09 06:57:16;  author: starksm;  state: Exp;apache/commons-logging/doap_logging.rdf
  
  Index: doap_logging.rdf
  ===================================================================
  <?xml version="1.0"?>
  <rdf:RDF xmlns="http://usefulinc.com/ns/doap#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:asfext="http://projects.apache.org/ns/asfext#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:doap="http://usefulinc.com/ns/doap#" xml:lang="en">
    <Project rdf:about="http://jakarta.apache.org/commons/logging/">
      <name>Apache Jakarta Commons Logging</name>
      <homepage rdf:resource="http://jakarta.apache.org/commons/logging/"/>
      <programming-language>Java</programming-language>
      <category rdf:resource="http://projects.apache.org/category/library"/>
      <license rdf:resource="http://usefulinc.com/doap/licenses/asl20"/>
      <bug-database rdf:resource="http://issues.apache.org/bugzilla/buglist.cgi?product=Commons&amp;component=logging"/>
      <download-page rdf:resource="http://jakarta.apache.org/site/downloads/downloads_commons-logging.cgi"/>
      <asfext:pmc rdf:resource="http://jakarta.apache.org/"/>
      <shortdesc xml:lang="en">Commons Logging</shortdesc>
      <description xml:lang="en">
      Commons Logging is a thin adapter allowing configurable bridging to other,
      well known logging systems.
    </description>
      <repository>
        <SVNRepository>
          <browse rdf:resource="http://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk"/>
          <location rdf:resource="http://svn.apache.org/repos/asf/jakarta/commons/proper/logging"/>
        </SVNRepository>
      </repository>
      <release>
        <revision>
          <name>commons-logging</name>
          <created>2004-06-15</created>
          <version>1.0.4</version>
        </revision>
      </release>
      <mailing-list rdf:resource="http://jakarta.apache.org/site/mail2.html#Commons"/>
    </Project>
  </rdf:RDF>
  
  
  
  1.1      date: 2007/02/09 06:57:16;  author: starksm;  state: Exp;apache/commons-logging/.project
  
  Index: .project
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <projectDescription>
  	<name>commons-logging</name>
  	<comment></comment>
  	<buildSpec>
  		<buildCommand>
  			<name>org.eclipse.jdt.core.javabuilder</name>
  			<arguments>
  			</arguments>
  		</buildCommand>
  	</buildSpec>
  	<natures>
  		<nature>org.eclipse.jdt.core.javanature</nature>
  	</natures>
  </projectDescription>
  
  
  
  1.1      date: 2007/02/09 06:57:16;  author: starksm;  state: Exp;apache/commons-logging/.classpath
  
  Index: .classpath
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <classpath>
  	<classpathentry excluding="org/apache/commons/logging/impl/AvalonLogger.java|org/apache/commons/logging/impl/LogKitLogger.java|org/apache/commons/logging/impl/ServletContextCleaner.java" kind="src" path="src/java"/>
  	<classpathentry kind="src" output="output/eclipse-test-classes" path="src/tests"/>
  	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
  	<classpathentry kind="var" path="JBOSS_REPO/apache-log4j/1.2.14/lib/log4j.jar" sourcepath="/JBOSS_REPO/apache-log4j/1.2.14/lib/log4j-src.zip"/>
  	<classpathentry kind="output" path="output/eclipse-classes"/>
  </classpath>
  
  
  



More information about the jboss-cvs-commits mailing list