Various XClasspath ideas and informations. * Development - no copyright assignment requirement - weak policy on new contributors (basically only "clean room") - contemporary version control system (Subversion, which is similar enough to CVS to learn in a few minutes, yet it's much more flexible and powerful) - writable SVN sandboxes for all developers - * Licensing policy - open for inclusions of other java libraries - license must be DFSG-compatible - license must be GPL-compatible - license must allow for runtime linking with closed source programs - other licenses evaluated on case-by-case basis * Directory structure preview /src/classpath - new "root" of old GNU Classpath code /src/classpath/templates - java source directory w/ "java" "javax" and "gnu" dirs /src/classpath /src/classpath/jvms/$name - directory w/ overwrite files for a jvm (if any) (it will be moved later to /src/jvms as soon as we have needed stubs) /src/classpath/classlib - generated java source files (w/ jvm overrides, if any) /src/classpath/classes - class file output tree /src/stubs - directory with stub classes * Build process - classpath 1. NativePtr type checking java classes compilation a) generate classlib from templates b) generate vm-specific classes (if any) and overwrite classlib equivalents c) compile and catch errors 2. Final compilation of java classes 3. Generation of .h files for JNI code from java classes (to be added later) 4. Compilation of native code - all other GPL+exception files - compile against classpath classes - stubs - containing published java interfaces - just compile them - all non-GPL/GPL-incompatible files - compiled against stubs * Comments I don't like the idea of copying *whole* tree from "templates" to "classlib" anymore. It would simply take too much time, especially that we'd need to pipe all of them thru sed and m4. Maybe we could keep a list of packages/files that have files which are generated? For example java/lang/* would be an obvious candidate plus /java/io/VMObjectStreamClass.java. * Steps with moving files around: - main moves mkdir -p src/classpath/misc mkdir -p src/classpath/templates mv java src/classpath/templates/ mv javax src/classpath/templates/ mv gnu src/classpath/templates/ mv external src/classpath/ mv include src/classpath/ mv lib src/classpath/ mv native src/classpath/ mv resource src/classpath/ mv compat src/classpath/misc/ mv scripts src/classpath/misc/ mv test src/classpath/misc/ mv testsuite src/classpath/misc/ mv vm/reference/java src/classpath/templates/ - others mv AUTHORS BUGS COPYING ChangeLog ChangeLog.usermap HACKING INSTALL \ LICENSE NEWS README THANKYOU TODO mauve-classpath ./src/classpath/ mv src/classpath/include/jni_md-x86-linux-gnu.h src/classpath/include/jni_md.h - cleanup rm -rf ./vm