PR libgcj/30647:
[official-gcc.git] / libjava / classpath / TODO
blobdf7eed7d0acc1a6414f0044e9d3a9f5202a14c70
1 See also http://www.gnu.org/software/classpath/tasks.html
2 Which is updated more often then this file.
4 The Classpath TODO list as of 2002/05/05
6 -- Write Mauve (http://sourceware.cygnus.com/mauve/) tests for those
7    classes that don't have them.
9 -- Write Java 2 packages not currently included or improve existing 
10    ones.
12 -- Modify ClassLoader.getSystemResource() to support loading classes 
13    from zip files in the CLASSPATH.  This requires java.util.zip to
14    be integrated first.  Jar files can probably be treated as zip
15    files for now.
17 -- Continue comparison and merge of classes between Classpath and GCJ.
19    Current status: http://gcc.gnu.org/java/libgcj-classpath-compare.html
21    Please keep in mind that Red Hat wishes to continue to use CNI
22    as their preferred native interface.  See:
24    http://sourceware.cygnus.com/java/papers/cni/t1.html
26 -- No resolution was identified for generating JNI compatible code from 
27    CNI source.  The simple solution has been adopted to include
28    both in GNU Classpath if and only if another JVM chooses to use CNI.  
29    Provisions for compiling CNI correctly need to be implemented.
31 -- Update the GNU Classpath Hacker's Guide.  There is a master texinfo
32    file in the doc/ directory in Classpath CVS.
34 -- Audit the code to identify methods that do not have Javadoc comments
35    and/or comments that are incomplete.  All input parameters, return
36    values, etc should be documentes.  Also look for Javadoc comments on
37    variables that are serializable.  
38    See http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#tag 
39    for details of what should be where in comments.
41 -- Figure out a way to generate a hardcopy manual for the Java class
42    library from the embedded Javadocs.  This probably involves writing
43    a custom doclet and probably some supplementary documentation
44    files into which the extracted Javadoc files are included.
46 -- Audit the code to ensure that all variable declarations are consistent
47    with the "Serialized Form" in the JDK.  That is, all serialized
48    variables in the JDK should be included in Classpath and all Classpath
49    instance variables that are not part of the JDK docs should be marked
50    transient.  Please be sure to use the online version of the Javadocs
51    for this and do not accept any "clickwrap" licenses from Sun in order
52    to download the JDK 1.2 Javadocs, which is where this information is
53    stored.
55 -- Audit code similar to above to determine where Sun uses readObject()
56    and writeObject() for serialization and determine what Classpath
57    needs to do for compatibility.
59 -- Audit code to ensure that every class that should be serializable
60    actually implementst java.io.Serializable and has the correct
61    serialVersionUID private static variable that is identical to the
62    JDK 1.1 version.  You can obtain that variable value using the
63    serialver command.
65 -- Do real life serialization compatibility tests of our code vs 
66    the JDK using serialcompat from Japitools.
68 -- Audit code for thread safety. 
70 -- Audit Java code for proper Security implementation.
72 -- Audit native code for security, memory handling, etc.
74 -- Bug reports are always welcome.  They are double welcome if they
75    are accompanied by a Mauve test that reproduces the bug.