summaryrefslogtreecommitdiff
path: root/TODO
blob: 8c7652c26d3d825e923f260a38869e0b9e9d2968 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
The Classpath TODO list as of 2002/05/05

-- Modify Classpath build to support libgcj out of the box.  Ideally
   the gcj folks could simply include a stock classpath in one of their
   distribution subdirectories, have their master configure run a configure
   on Classpath the appropriate arguments, and everything would build.

-- Modify ClassLoader.getSystemResource() to support loading classes 
   from zip files in the CLASSPATH.  This requires java.util.zip to
   be integrated first.  Jar filed can probably be treated as zip
   files for now.

-- Continue comparison and merge of classes between Classpath and GCJ.

   Current status: http://gcc.gnu.org/java/libgcj-classpath-compare.html

   Please keep in mind that Cygnus wishes to continue to use CNI
   as their preferred native interface.  See:

   http://sourceware.cygnus.com/java/papers/cni/t1.html

-- No resolution was identified for generating JNI compatible code from 
   CNI source.  The simple solution has been adopted to include
   both in GNU Classpath.  Provisions for compiling CNI correctly need
   to be implemented.

-- Update the GNU Classpath Hacker's Guide.  There is a master texinfo
   file in the doc/ directory in Classpath CVS.

-- Write Mauve (http://sourceware.cygnus.com/mauve/) tests for those
   classes that don't have them.

-- Write Java 2 packages not currently included or improve existing 
   ones.

-- Figure out an easy method of generating online Javadocs from our
   code.  This will probably involve lots of misc HTML fixes.

-- Audit the code to identify methods that do not have Javadoc comments
   and/or comments that are incomplete.  All input parameters, return
   values, etc should be documentes.  Also look for Javadoc comments on
   variables that are serializable.  
   See http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#tag 
   for details of what should be where in comments.

-- Figure out a way to generate a hardcopy manual for the Java class
   library from the embedded Javadocs.  This probably involves writing
   a custom doclet and probably some supplementary documentation
   files into which the extracted Javadoc files are included.

-- Audit the code to ensure that all variable declarations are consistent
   with the "Serialized Form" in the JDK.  That is, all serialized
   variables in the JDK should be included in Classpath and all Classpath
   instance variables that are not part of the JDK docs should be marked
   transient.  Please be sure to use the online version of the Javadocs
   for this and do not accept any "clickwrap" licenses from Sun in order
   to download the JDK 1.2 Javadocs, which is where this information is
   stored.

-- Audit code similar to above to determine where Sun uses readObject()
   and writeObject() for serialization and determine what Classpath
   needs to do for compatibility.

-- Audit code to ensure that every class that should be serializable
   actually implementst java.io.Serializable and has the correct
   serialVersionUID private static variable that is identical to the
   JDK 1.1 version.  You can obtain that variable value using the
   serialver command.

-- Do real life serialization compatibility tests of our code with Kaffe 
   and the JDK.

-- Audit code for thread safety. 

-- Update the packaging of Classpath to make sure that we can build
   good distribution tarballs.

-- Bug reports are always welcome.  They are double welcome if they
   are accompanied by a Mauve test that reproduces the bug.