logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Curt Arnold <carn...@apache.org>
Subject Yet another release candidate
Date Sat, 20 Aug 2005 02:25:40 GMT
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: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org


Mime
View raw message