[kaffe] gjdoc, libxmlj and kaffe

Mark Wielaard mark at klomp.org
Sat Dec 6 05:31:02 PST 2003


Hi,

Played a bit with kaffe, gjdoc and libxmlj.
It works mostly. But is difficult to setup since gjdoc and libxmlj
haven't seen real releases so you have to get them from CVS. But savnnah
is still down so that is kind of hard. For now I have put up my local
copies at http://www.klomp.org/mark/classpath/ so people can play with
it a bit.

Making libxmlj should be easy with just a make && make install (maybe a
configure first).

Dalibor said that he could use the ant build.xml file for gjdoc, but the
Makefile is broken. I just did a:
$ cd src
$ mkdir classes
$ jikes-classpath -d classes `find * -name *.java`
$ cd classes
$ fastjar cf ../../gjdoc.jar *

Then to produce API documentation for all of GNU Classpath do something
like:
$ cd ~/src/classpath
$ find java javax -type d ! -regex .*CVS ! -regex .*doc-files | tr '/' '.' | grep -v "java.awt.dnd.peer" | grep -v "java.awt.peer" > /tmp/packages
$ cd /tmp
$ mkdir doc
$ cd doc
$ LD_LIBRARY_PATH=/usr/local/libxmlj/lib time kaffe -mx256M -classpath /home/mark/src/gjdoc/lib/gjdoc.jar:/home/mark/src/gjdoc/src/resources:/home/mark/src/libxmlj gnu.classpath.tools.gjdoc.Main -noemailwarn -sourcepath /home/mark/src/classpath -d . `cat /tmp/packages`

Starting out with just one package (like java.lang) will give you
results quicker, see obligatory screenshot:
http://www.klomp.org/mark/classpath/Screenshot-4.png

Doing the whole thing seems to go OK at first. But after two hours of
happily generating HTML files it gives:

Generating HTML Documentation for java.awt.geom.QuadCurve2D...
Generating HTML Documentation for java.awt.geom.QuadCurve2D.Double...
I/O error : flush error
java.lang.ArrayIndexOutOfBoundsException
   at gnu.xml.libxmlj.transform.LibxsltStylesheet.libxsltTransform (LibxsltStylesheet.java)
   at gnu.xml.libxmlj.transform.LibxsltStylesheet.transform (LibxsltStylesheet.java:112)
   at gnu.xml.libxmlj.transform.TransformerImpl.transform (TransformerImpl.java:235)
   at gnu.classpath.tools.doclets.xmldoclet.doctranslet.DocTranslet.apply (DocTranslet.java:198)
   at gnu.classpath.tools.doclets.xmldoclet.Driver.instanceStart (Driver.java:1094)
   at gnu.classpath.tools.doclets.xmldoclet.Driver.start (Driver.java:232)
   at java.lang.reflect.Method.invoke0 (Method.java)
   at java.lang.reflect.Method.invoke (Method.java:255)
   at gnu.classpath.tools.gjdoc.Main.startDoclet (Main.java:408)
   at gnu.classpath.tools.gjdoc.Main.start (Main.java:612)
   at gnu.classpath.tools.gjdoc.Main.main (Main.java:480)
ERROR: java.lang.ArrayIndexOutOfBoundsException
Done.
1068 warnings
7537.15user 26.38system 2:07:27elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (1199major+30340minor)pagefaults 0swaps

Of course just generating api documentation for just this one class or
just the java.awt.geom package works fine. So the only way to reproduce
this seems to be generating the whole thing again and wait another 2
hours. Sigh.

The I/O error : flush error seems to come from kaffe/kaffevm/jar.c
getDataJarFile(). A quick look indicates that the result of this
function is not checked in for example kaffe/kaffeh/support.c, but I
don't know if that is related.

Cheers,

Mark
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://kaffe.org/pipermail/kaffe/attachments/20031206/d75c5ebb/attachment-0002.pgp 


More information about the kaffe mailing list