This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Patch: FYI: Classpath comparison web page


I wrote a script which can be used to compare libgcj and Classpath.
It generates a web page showing which files have not been merged, and
which have been merged but then later diverged.  In the latter case
the script also generates diffs.

I'm checking in the script, the web page, and all the diffs.

I plan to update the page periodically by running the script.  Of
course others are free to do this too; just make sure you have the
current trunk of both projects available before running the script.

The script itself is rather ad-hoc and ugly.

Tom

Index: ChangeLog
from  Tom Tromey  <tromey@redhat.com>

	* index.html: Link to classpath merge document.
	* scripts/gen-classpath-compare: New file.
	* libgcj-classpath-compare.html: New file.

Index: index.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/java/index.html,v
retrieving revision 1.87
diff -u -r1.87 index.html
--- index.html 2001/09/07 21:32:01 1.87
+++ index.html 2001/09/14 00:14:38
@@ -54,7 +54,8 @@
 GDB and related tools are 
 <a href="http://www.gnu.org/philosophy/free-sw.html";>Free Software</a>.  
 libgcj is slowly being merged with <a
-href="http://www.gnu.org/software/classpath/";>GNU Classpath</a>.
+href="http://www.gnu.org/software/classpath/";>GNU Classpath</a>.  (You
+can see the <a href="libgcj-classpath-compare.html">status of the merge</a>.)
 <br>
 <br>
 
Index: libgcj-classpath-compare.html
===================================================================
RCS file: libgcj-classpath-compare.html
diff -N libgcj-classpath-compare.html
--- /dev/null	Tue May  5 13:32:27 1998
+++ libgcj-classpath-compare.html Thu Sep 13 17:14:38 2001
@@ -0,0 +1,287 @@
+<head>
+<title>libgcj -vs- Classpath</title>
+</head>
+<body bgcolor="#ffffff">
+<h1>libgcj -vs- Classpath</h1>
+
+<p>This page compares the "current" cvs libgcj against the "current"
+cvs Classpath.  It was generated using the <a
+href="scripts/gen-classpath-compare"><tt>gen-classpath-compare</tt></a>
+script on
+2001-09-10.
+This table intentionally omits certain classes which are not of
+interest.  If the third column shows a "Diff" link, then that means
+the script believes that the class has been merged, but a difference
+has been reintroduced.  <b>Note that such differences cannot be
+automatically merged.</b> Any merging must be done manually; some
+differences are currently required.</p>
+
+<table border=1 width="100%">
+<tr><th>Class</th> <th>libgcj</th> <th>Classpath</th> <th>Merge Status</th> </tr>
+<tr> <td>java.io.BufferedInputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.DataInput</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.DataOutput</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.DataOutputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.File</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.FileDescriptor</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.FileInputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.FileOutputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.FileWriter</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.FilenameFilter</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.FilterInputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.FilterOutputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.FilterReader</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.FilterWriter</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.InputStreamReader</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.LineNumberInputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.LineNumberReader</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.ObjectInputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.io.ObjectInputStream.diff">Diff</a></td> </tr>
+<tr> <td>java.io.ObjectOutputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.io.ObjectOutputStream.diff">Diff</a></td> </tr>
+<tr> <td>java.io.ObjectStreamClass</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.io.ObjectStreamClass.diff">Diff</a></td> </tr>
+<tr> <td>java.io.OutputStreamWriter</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.PrintStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.RandomAccessFile</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.SequenceInputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.Serializable</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.StringBufferInputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.io.Writer</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.CharSequence</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.Character</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.Class</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.ClassLoader</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.Cloneable</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.Comparable</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.Compiler</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.Double</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.EcosProcess</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.Float</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.InheritableThreadLocal</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.Math</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.Object</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.Package</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.lang.Package.diff">Diff</a></td> </tr>
+<tr> <td>java.lang.PosixProcess</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.Process</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.Runnable</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.Runtime</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.String</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.StringBuffer</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.lang.StringBuffer.diff">Diff</a></td> </tr>
+<tr> <td>java.lang.System</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.lang.System.diff">Diff</a></td> </tr>
+<tr> <td>java.lang.Thread</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.Throwable</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.VMClassLoader</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.VMSecurityManager</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.Void</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.reflect.AccessibleObject</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.reflect.Array</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.reflect.Constructor</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.reflect.Field</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.reflect.Member</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.reflect.Method</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.lang.reflect.Modifier</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.math.BigInteger</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.Authenticator</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.ContentHandler</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.ContentHandlerFactory</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.DatagramPacket</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.DatagramSocket</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.DatagramSocketImpl</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.FileNameMap</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.HttpURLConnection</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.InetAddress</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.JarURLConnection</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.MimeTypeMapper</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.MulticastSocket</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.PasswordAuthentication</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.PlainDatagramSocketImpl</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.PlainSocketImpl</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.ServerSocket</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.Socket</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.SocketImpl</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.SocketImplFactory</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.SocketInputStream</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.SocketOptions</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.SocketOutputStream</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.URL</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.URLClassLoader</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.URLConnection</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.URLEncoder</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.URLStreamHandler</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.net.URLStreamHandlerFactory</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.security.AccessControlContext</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.AccessControlContext.diff">Diff</a></td> </tr>
+<tr> <td>java.security.AccessControlException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.AccessControlException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.AccessController</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.AccessController.diff">Diff</a></td> </tr>
+<tr> <td>java.security.AlgorithmParameterGenerator</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.AlgorithmParameterGenerator.diff">Diff</a></td> </tr>
+<tr> <td>java.security.AlgorithmParameterGeneratorSpi</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.AlgorithmParameterGeneratorSpi.diff">Diff</a></td> </tr>
+<tr> <td>java.security.AlgorithmParameters</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.AlgorithmParameters.diff">Diff</a></td> </tr>
+<tr> <td>java.security.AlgorithmParametersSpi</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.AlgorithmParametersSpi.diff">Diff</a></td> </tr>
+<tr> <td>java.security.AllPermission</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.AllPermission.diff">Diff</a></td> </tr>
+<tr> <td>java.security.BasicPermission</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.BasicPermission.diff">Diff</a></td> </tr>
+<tr> <td>java.security.Certificate</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.Certificate.diff">Diff</a></td> </tr>
+<tr> <td>java.security.CodeSource</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.CodeSource.diff">Diff</a></td> </tr>
+<tr> <td>java.security.DigestException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.DigestException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.DigestInputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.DigestInputStream.diff">Diff</a></td> </tr>
+<tr> <td>java.security.DigestOutputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.DigestOutputStream.diff">Diff</a></td> </tr>
+<tr> <td>java.security.DomainCombiner</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.DomainCombiner.diff">Diff</a></td> </tr>
+<tr> <td>java.security.DummyKeyPairGenerator</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.DummyKeyPairGenerator.diff">Diff</a></td> </tr>
+<tr> <td>java.security.DummyMessageDigest</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.DummyMessageDigest.diff">Diff</a></td> </tr>
+<tr> <td>java.security.DummySignature</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.DummySignature.diff">Diff</a></td> </tr>
+<tr> <td>java.security.GeneralSecurityException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.GeneralSecurityException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.Guard</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.Guard.diff">Diff</a></td> </tr>
+<tr> <td>java.security.GuardedObject</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.GuardedObject.diff">Diff</a></td> </tr>
+<tr> <td>java.security.Identity</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.Identity.diff">Diff</a></td> </tr>
+<tr> <td>java.security.IdentityScope</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.IdentityScope.diff">Diff</a></td> </tr>
+<tr> <td>java.security.InvalidAlgorithmParameterException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.InvalidAlgorithmParameterException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.InvalidKeyException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.InvalidKeyException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.InvalidParameterException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.InvalidParameterException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.Key</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.Key.diff">Diff</a></td> </tr>
+<tr> <td>java.security.KeyException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.KeyException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.KeyFactory</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.KeyFactory.diff">Diff</a></td> </tr>
+<tr> <td>java.security.KeyFactorySpi</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.KeyFactorySpi.diff">Diff</a></td> </tr>
+<tr> <td>java.security.KeyManagementException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.KeyManagementException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.KeyPair</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.KeyPair.diff">Diff</a></td> </tr>
+<tr> <td>java.security.KeyPairGenerator</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.KeyPairGenerator.diff">Diff</a></td> </tr>
+<tr> <td>java.security.KeyPairGeneratorSpi</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.KeyPairGeneratorSpi.diff">Diff</a></td> </tr>
+<tr> <td>java.security.KeyStore</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.KeyStore.diff">Diff</a></td> </tr>
+<tr> <td>java.security.KeyStoreException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.KeyStoreException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.KeyStoreSpi</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.KeyStoreSpi.diff">Diff</a></td> </tr>
+<tr> <td>java.security.MessageDigest</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.MessageDigest.diff">Diff</a></td> </tr>
+<tr> <td>java.security.MessageDigestSpi</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.MessageDigestSpi.diff">Diff</a></td> </tr>
+<tr> <td>java.security.NoSuchAlgorithmException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.NoSuchAlgorithmException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.NoSuchProviderException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.NoSuchProviderException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.Permission</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.Permission.diff">Diff</a></td> </tr>
+<tr> <td>java.security.PermissionCollection</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.PermissionCollection.diff">Diff</a></td> </tr>
+<tr> <td>java.security.Permissions</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.Permissions.diff">Diff</a></td> </tr>
+<tr> <td>java.security.Policy</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.Policy.diff">Diff</a></td> </tr>
+<tr> <td>java.security.Principal</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.Principal.diff">Diff</a></td> </tr>
+<tr> <td>java.security.PrivilegedAction</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.PrivilegedAction.diff">Diff</a></td> </tr>
+<tr> <td>java.security.PrivilegedActionException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.PrivilegedActionException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.PrivilegedExceptionAction</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.PrivilegedExceptionAction.diff">Diff</a></td> </tr>
+<tr> <td>java.security.ProtectionDomain</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.ProtectionDomain.diff">Diff</a></td> </tr>
+<tr> <td>java.security.Provider</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.Provider.diff">Diff</a></td> </tr>
+<tr> <td>java.security.ProviderException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.ProviderException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.SecureClassLoader</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.SecureClassLoader.diff">Diff</a></td> </tr>
+<tr> <td>java.security.SecureRandom</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.SecureRandom.diff">Diff</a></td> </tr>
+<tr> <td>java.security.SecureRandomSpi</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.SecureRandomSpi.diff">Diff</a></td> </tr>
+<tr> <td>java.security.Security</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.Security.diff">Diff</a></td> </tr>
+<tr> <td>java.security.SecurityPermission</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.SecurityPermission.diff">Diff</a></td> </tr>
+<tr> <td>java.security.Signature</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.Signature.diff">Diff</a></td> </tr>
+<tr> <td>java.security.SignatureException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.SignatureException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.SignatureSpi</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.SignatureSpi.diff">Diff</a></td> </tr>
+<tr> <td>java.security.SignedObject</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.SignedObject.diff">Diff</a></td> </tr>
+<tr> <td>java.security.Signer</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.Signer.diff">Diff</a></td> </tr>
+<tr> <td>java.security.UnrecoverableKeyException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.UnrecoverableKeyException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.UnresolvedPermission</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.UnresolvedPermission.diff">Diff</a></td> </tr>
+<tr> <td>java.security.acl.Acl</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.acl.Acl.diff">Diff</a></td> </tr>
+<tr> <td>java.security.acl.AclEntry</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.acl.AclEntry.diff">Diff</a></td> </tr>
+<tr> <td>java.security.acl.AclNotFoundException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.acl.AclNotFoundException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.acl.Group</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.acl.Group.diff">Diff</a></td> </tr>
+<tr> <td>java.security.acl.LastOwnerException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.acl.LastOwnerException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.acl.NotOwnerException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.acl.NotOwnerException.diff">Diff</a></td> </tr>
+<tr> <td>java.security.acl.Owner</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.acl.Owner.diff">Diff</a></td> </tr>
+<tr> <td>java.security.acl.Permission</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.acl.Permission.diff">Diff</a></td> </tr>
+<tr> <td>java.security.cert.X509Extension</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.cert.X509Extension.diff">Diff</a></td> </tr>
+<tr> <td>java.security.interfaces.DSAKey</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.interfaces.DSAKey.diff">Diff</a></td> </tr>
+<tr> <td>java.security.interfaces.DSAKeyPairGenerator</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.interfaces.DSAKeyPairGenerator.diff">Diff</a></td> </tr>
+<tr> <td>java.security.interfaces.DSAParams</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.interfaces.DSAParams.diff">Diff</a></td> </tr>
+<tr> <td>java.security.interfaces.DSAPrivateKey</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.interfaces.DSAPrivateKey.diff">Diff</a></td> </tr>
+<tr> <td>java.security.interfaces.DSAPublicKey</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.interfaces.DSAPublicKey.diff">Diff</a></td> </tr>
+<tr> <td>java.security.interfaces.RSAKey</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.interfaces.RSAKey.diff">Diff</a></td> </tr>
+<tr> <td>java.security.interfaces.RSAPrivateCrtKey</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.interfaces.RSAPrivateCrtKey.diff">Diff</a></td> </tr>
+<tr> <td>java.security.interfaces.RSAPrivateKey</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.interfaces.RSAPrivateKey.diff">Diff</a></td> </tr>
+<tr> <td>java.security.interfaces.RSAPublicKey</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.security.interfaces.RSAPublicKey.diff">Diff</a></td> </tr>
+<tr> <td>java.text.CollationElementIterator</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.text.CollationKey</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.text.Collator</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.text.Collator.diff">Diff</a></td> </tr>
+<tr> <td>java.text.RuleBasedCollator</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.TimeZone</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.TimeZone.diff">Diff</a></td> </tr>
+<tr> <td>java.util.prefs.AbstractPreferences</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.prefs.BackingStoreException</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.prefs.InvalidPreferencesFormatException</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.prefs.NodeChangeEvent</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.prefs.NodeChangeListener</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.prefs.PreferenceChangeEvent</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.prefs.PreferenceChangeListener</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.prefs.Preferences</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.prefs.PreferencesFactory</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.zip.Adler32</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.Adler32.diff">Diff</a></td> </tr>
+<tr> <td>java.util.zip.CRC32</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.CRC32.diff">Diff</a></td> </tr>
+<tr> <td>java.util.zip.CheckedInputStream</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> </tr>
+<tr> <td>java.util.zip.CheckedOutputStream</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> </tr>
+<tr> <td>java.util.zip.Checksum</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.Checksum.diff">Diff</a></td> </tr>
+<tr> <td>java.util.zip.DataFormatException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.DataFormatException.diff">Diff</a></td> </tr>
+<tr> <td>java.util.zip.Deflater</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.Deflater.diff">Diff</a></td> </tr>
+<tr> <td>java.util.zip.DeflaterConstants</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.zip.DeflaterEngine</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.zip.DeflaterHuffman</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.zip.DeflaterOutputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.DeflaterOutputStream.diff">Diff</a></td> </tr>
+<tr> <td>java.util.zip.DeflaterPending</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.zip.GZIPConstants</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.zip.GZIPInputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.GZIPInputStream.diff">Diff</a></td> </tr>
+<tr> <td>java.util.zip.GZIPOutputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.GZIPOutputStream.diff">Diff</a></td> </tr>
+<tr> <td>java.util.zip.Inflater</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.Inflater.diff">Diff</a></td> </tr>
+<tr> <td>java.util.zip.InflaterDynHeader</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.zip.InflaterHuffmanTree</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.zip.InflaterInputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.InflaterInputStream.diff">Diff</a></td> </tr>
+<tr> <td>java.util.zip.OutputWindow</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.zip.PendingBuffer</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.zip.StreamManipulator</td> <td bgcolor="#eeeeaa">No</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>java.util.zip.ZipConstants</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.ZipConstants.diff">Diff</a></td> </tr>
+<tr> <td>java.util.zip.ZipEntry</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.ZipEntry.diff">Diff</a></td> </tr>
+<tr> <td>java.util.zip.ZipException</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.ZipException.diff">Diff</a></td> </tr>
+<tr> <td>java.util.zip.ZipFile</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.ZipFile.diff">Diff</a></td> </tr>
+<tr> <td>java.util.zip.ZipInputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.ZipInputStream.diff">Diff</a></td> </tr>
+<tr> <td>java.util.zip.ZipOutputStream</td> <td>Yes</td> <td>Yes</td> <td bgcolor="#aaaaee"><a href="compare/java.util.zip.ZipOutputStream.diff">Diff</a></td> </tr>
+<tr> <td>javax.naming.AuthenticationException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.AuthenticationNotSupportedException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.CannotProceedException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.CommunicationException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.ConfigurationException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.Context</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.ContextNotEmptyException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.InitialContext</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.InsufficientResourcesException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.InterruptedNamingException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.InvalidNameException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.LimitExceededException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.LinkException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.LinkLoopException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.MalformedLinkException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.Name</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.NameAlreadyBoundException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.NameNotFoundException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.NameParser</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.NamingEnumeration</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.NamingException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.NamingSecurityException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.NoInitialContextException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.NoPermissionException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.NotContextException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.OperationNotSupportedException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.PartialResultException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.RefAddr</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.Reference</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.Referenceable</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.ReferralException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.ServiceUnavailableException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.SizeLimitExceededException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.StringRefAddr</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.TimeLimitExceededException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.directory.Attribute</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.directory.AttributeInUseException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.directory.AttributeModificationException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.directory.Attributes</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.directory.DirContext</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.directory.InitialDirContext</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.directory.InvalidAttributeIdentifierException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.directory.InvalidAttributeValueException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.directory.InvalidAttributesException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.directory.InvalidSearchControlsException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.directory.InvalidSearchFilterException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.directory.NoSuchAttributeException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.directory.SchemaViolationException</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.spi.InitialContextFactory</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.spi.InitialContextFactoryBuilder</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.spi.NamingManager</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+<tr> <td>javax.naming.spi.ObjectFactory</td> <td>Yes</td> <td bgcolor="#eeeeaa">No</td> <td bgcolor="#eeeeaa">No</td> </tr>
+</table>
+</body>
Index: scripts/gen-classpath-compare
===================================================================
RCS file: gen-classpath-compare
diff -N gen-classpath-compare
--- /dev/null	Tue May  5 13:32:27 1998
+++ scripts/gen-classpath-compare Thu Sep 13 17:14:39 2001
@@ -0,0 +1,124 @@
+#! /bin/sh
+
+if test "$1" = "-cvs"; then
+   cvsadd='cvs add'
+   cvsrm='cvs rm'
+   shift
+else
+   cvsadd=:
+   cvsrm=:
+fi
+
+LIBGCJ=$1
+CLASSPATH=$2
+shift
+shift
+
+OUTPUT=$3
+if test -z "$OUTPUT"; then
+   # Strip the file name and the `scripts' directory component.
+   OUTPUT="`echo $0 | sed -e 's,/[^/]*/[^/]*$,,'`"
+fi
+
+if test -z "$LIBGCJ" || test -z "$CLASSPATH" || test -z "$OUTPUT"; then
+   echo "usage: gen-classpath-compare [-cvs] libgcj-path classpath-path [output-path]" 1>&2
+   exit 1
+fi
+
+outfile="$OUTPUT/libgcj-classpath-compare.html"
+tmp=/tmp/tmp.$$
+
+mkdir -p "$OUTPUT/compare"
+preFiles="`cd $OUTPUT/compare && echo *.diff`"
+
+rm -f $OUTPUT/compare/*.diff
+
+cat > $outfile << 'END'
+<head>
+<title>libgcj -vs- Classpath</title>
+</head>
+<body bgcolor="#ffffff">
+<h1>libgcj -vs- Classpath</h1>
+
+<p>This page compares the "current" cvs libgcj against the "current"
+cvs Classpath.  It was generated using the <a
+href="scripts/gen-classpath-compare"><tt>gen-classpath-compare</tt></a>
+script on
+END
+
+date "+%Y-%m-%d." >> $outfile
+
+cat >> $outfile << 'END'
+This table intentionally omits certain classes which are not of
+interest.  If the third column shows a "Diff" link, then that means
+the script believes that the class has been merged, but a difference
+has been reintroduced.  <b>Note that such differences cannot be
+automatically merged.</b> Any merging must be done manually; some
+differences are currently required.</p>
+
+<table border=1 width="100%">
+<tr><th>Class</th> <th>libgcj</th> <th>Classpath</th> <th>Merge Status</th> </tr>
+END
+
+No='<td bgcolor="#eeeeaa">No</td>'
+Yes='<td>Yes</td>'
+
+(cd $LIBGCJ; find . -name '*.java' -print; \
+cd $CLASSPATH; find . -name '*.java' -print) |
+sort | uniq | sed -e 's,^\./,,' |
+grep '^java' |
+fgrep -v 'javax/accessibility' | fgrep -v 'javax/swing' |
+fgrep -v '/awt/' |
+(cd $LIBGCJ
+while read f; do
+   class=`echo $f | sed -e 's,/,.,g' -e 's,\.java$,,'`
+
+   Merge=$No
+   gcj=$No
+   if test -f $f; then
+      gcj=$Yes
+      if fgrep -s -q Classpath $f; then
+	 Merge="$Yes"
+      fi
+   fi
+   clp=$No
+   if test -f "$CLASSPATH/$f"; then
+      clp=$Yes
+
+      if test "$Merge" = "$Yes"; then
+	 diff -u "$CLASSPATH/$f" $f > $tmp
+	 if test -s $tmp; then
+	    cp $tmp "$OUTPUT/compare/$class.diff"
+	    Merge="<td bgcolor=\"#aaaaee\"><a href=\"compare/$class.diff\">Diff</a></td>"
+	 fi
+	 rm -f $tmp
+      fi
+   fi
+
+   if test "$gcj" = "$Yes" && test "$clp" = "$Yes" && test "$Merge" = "$Yes"
+   then
+      : print nothing
+   else
+      echo "<tr> <td>$class</td> $gcj $clp $Merge </tr>"
+   fi
+done
+) >> $outfile
+
+cat >> $outfile << 'END'
+</table>
+</body>
+END
+
+cd "$OUTPUT/compare"
+
+rmFiles=
+for file in $preFiles; do
+   if ! test -f $file; then
+      rmFiles="$rmFiles $file"
+   fi
+done
+
+if test -n "$rmFiles"; then
+   $cvsrm $rmFiles
+fi
+$cvsadd *.diff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]