On Jun 20, 2007, at 11:55 PM, Paul Smith wrote:

I've done the following quick test to compare 1.2.14->1.2.15. After unpacking both, I compared the contents of the respective jars. One way to see missing/additional files was this:

unzip -l log4j-1.2.14.jar > /tmp/log4j.1.2.14.txt
..
unzip -l log4j-1.2.15.jar > /tmp/log4j.1.2.15.txt

cat log4j.1.2.14.txt | awk '{print $NF}' | sort > a
cat log4j.1.2.15.txt | awk '{print $NF}' | sort > b

comm -3 a b

This shows all the file entries that are not in both jars. In this case, there are only new entries in the 1.2.15 distribution:

[EMAIL PROTECTED] tmp]$ comm -3 a b
log4j-1.2.14.jar
        log4j-1.2.15.jar
        META-INF/maven/
        META-INF/maven/log4j/
        META-INF/maven/log4j/log4j/
        META-INF/maven/log4j/log4j/pom.properties
        META-INF/maven/log4j/log4j/pom.xml
        NTEventLogAppender.o
        org_apache_log4j_nt_NTEventLogAppender.h
        org_apache_log4j_Priority.h
        org/apache/log4j/xml/UnrecognizedElementHandler.class

Obviously the 2 jar names are different, and the the maven stuff is expected.


The .o and .h files are new, but probably benign.

They shouldn't be there, something to fix for RC4.


The new class, IIRC, is expected in 1.2.15.

Yes, it is an interface that classes that need to handle unexpected elements in the XML configuration implement.


I thought of doing byte size comparison between the file entries in the jar, but I'm not sure what that would tell us.

From the above test, the jar looks ok to me.

A Jdiff report would be nice I think, just to compare the binary compatibility aspects.


The Ant build file had both CLIRR and JDiff reports. They should still work, but may rebuild the jar file. The CLIRR Maven plugin doesn't look like it has been ported to Maven 2. JDiff's plugin does appear to have been ported (http://mojo.codehaus.org/jdiff-maven- plugin/howto.html).

Likely CLIRR could be integrated as an Ant task into the build to stop the build if any API breakage was detected and/or a JDiff report could be added. I've been using log4j 1.2.8 as the reference release in previous checks of compatibility.



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

Reply via email to