Hi,

On Fri, May 26, 2000 at 07:18:41AM -0400, Brian Jones wrote:
> I've written a simple shell script to perform a diff on each file in
> java/* omitting awt and applet within libgcj and classpath cvs trees.
> It's crude and not a web page but the output is just as useful and you
> can run the script yourself if you have bash (or unbashify it if you
> want).

Nice script, thanks.

I have quickly written the following oneliner for use with the Sun JavaDoc.
(e.g. <http://java.sun.com/j2se/1.3/docs/api/allclasses-frame.html>)
It generates a fake filestructure that can be used with your script so
you can easily see which classes are still missing in Classpath.

for i in `perl -ne 'if (/HREF="([^\."]*)\.html"/) {print "$1.java\n";}' < 
allclasses-frame.html`; do mkdir -p `dirname /tmp/sun/libjava/$i`; touch 
/tmp/sun/libjava/$i; done

Then you can do something like:

./find-facts.sh --gcpdir=/home/mark/src/classpath --gcjdir=/tmp/sun | grep "is not in 
classpath"

To find out what is missing. (Not very efficient, but it does the trick :)

The results:
Without java/applet, java/awt, javax and org:
98 classes
 - mostly java/util/zip [14] and java/rmi [65]
Including java/applet, java/awt, javax and org
1099 classes
 - mostly AWT/Java 2D [139], Swing [442], JNDI [88], org/omg [246]
   and Java Sound [54]

Some of these can probably be shared with other projects
  I believe Kaffe has a partial RMI implementation
  (are all the org/omg classes also part of RMI?)
  libgcj has a zip implementation
  Tritonous has a javax/sound implementation
The only really big missing things seem to be Java 2D, Swing and JNDI.
Everything else seems to be almost complete in Classpath or in other free
Java projects.

Cheers,

Mark

P.S. Note that the find-facts script does not know that some of the Classpath
classes live in vm/reference/java/lang[/reflect].

Reply via email to