I've posted an log4j 1.2.12 release candidate log4j-1.2.12rc4 to
http://people.apache.org/~carnold/logging-log4j-1.2.12rc4.zip and
http://people.apache.org/~carnold/logging-log4j-1.2.12rc4.tar.gz.
This is not explicitly not an official release and should not be used
for anything other than test in preparation of the eventual
log4j-1.2.12. Since I hope we are getting close to a real release,
this RC has no internal markers that it is not a release and if
accepted as the release after an appropriate vote (which I'm not
calling for), the archives could simply be renamed and signed. The
CVS for logging-cvs and logging-site have been tagged with v1_2_12_rc4.
The major different between rc4 and the previous rc3 and rcTEST-
jdk1.2 is that this rc4 was build with JDK 1.3 (Sun JDK 1.3.1_15 on
Windows 2000 to be more specific). I've been a better part of the
last two days building and rebuilding log4j distributions on multiple
JDK's on clean virtual machines and comparing them with previous
releases and running them on earlier JVM's. I think JDK 1.3 is the
right answer.
There is no explicit statement on the compilers used to prepare
earlier editions of log4j and the class files do not provide any
obvious clues to the compiler that emitted them. There are two
distinguishing characteristics in the generated Javadoc that allow
you to reasonably determine the version of javadoc used. JDK 1.2 and
1.3 generated Javadoc use "frameset.dtd", JDK 1.4 and later use
"loose.dtd". JDK 1.2 uses <FONT ID="..."> to specify a font, and JDK
1.3 and later use <FONT CLASS="...">. These clues suggest
log4j-1.2.9 and 1.2.5 were both built with a JDK 1.3 and that
log4j-1.2.11 was built with a JDK 1.4.
The JIT error that has been annoying us lately seems to be specific
to JDK 1.4 and later compilers. With the recent modifications, log4j
can be built and tested (on the same JDK) using any version from 1.2
to 1.5. Building on 1.2 requires rebuilding apache-ant-1.6.5 since
it seems to have also been build with a JDK 1.4 compiler.
The JDK 1.2 and 1.3 builds could be successfully tested with a subset
of the unit tests on JDK 1.1. Neither Ant 1.6.x or jakarta-oro
support JDK 1.1. To work around this a batch file was created to run
a subset of the tests that would have been run by tests/build.xml.
jakarta-oro only used JDK 1.2 specific classes and substituting
Hashtable for HashMap and Vector for ArrayList and rebuilding (again
using JDK 1.3) was sufficient to run the unit tests.
A few unit tests are known and expected to fail on JDK 1.1.
LevelTest.testDeserializeINFO will fail since the readResolve method
that replaces the freshly created level object with the Level.INFO is
not invoked. FileAppenderTest.testDirectoryCreation also fails which
suggest that log4j will not be able to create missing directories
when running on JDK 1.1. Also, tests involving the MDC will fail on
JDK 1.1 since MDC is JDK 1.2 specific.
http://people.apache.org/~carnold/rcTEST_vs_rc4.txt contains a diff
of rc4 with rcTEST-jdk1.2 (omitting Javadoc differences) and is
fairly short. Most of the recent changes were in the test suite
which is not included in the distribution.
build.properties.sample was update to reflect currently available
versions of support jars.
build.xml had the "release" target and javac.* properties added.
All the example/*.class are different. The jars are named
differently (and I expect are different internally).
docs/HISTORY.txt has a speculative release date for 1.2.12 of next
Friday. I've also removed the "release" notices for the earlier
rcs. Since they will not be available in the archives, I don't think
it has much value to describe a distribution that is not available.
In addition, "release" is inappropriate to describe the earlier rcs
since none of them were ever accepted as a LS release. You could say
"prepared" or something like that, if they must be mentioned.
A link to FAQ.html was fixed.
The LF5 documentation that was in log4j-1.2.9 was restored.
log4j-1.2.11 and the 1.2.12rcs had the LF5 graphics but not the HTML
pages. build.xml did not rebuild the LF5 document, but did not clean
it either, so I'm guessing that it was using stale copies from a
previous build.
A broken link to chainsaw.html was replaced to a link to http://
logging.apache.org.
rcTEST had reverted the CategoryKey changes which I assume was a
production artifact.
The missing directory creation in FileAppender did not check that the
getParent() was not null. This caused a NullPointerException in JDK
1.1 in the unit tests. The same fix needs to be propagated to the
CVS HEAD.
The change in LoggerRepository avoids a Jikes compiler bug. I had
not intended to commit the change but compiling under Jikes is a good
thing to support.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]