Subversion Java integration =========================== $LastChangedDate$ Contents: I. STATUS II. BUILDING III. INTERFACES IV. WHY NOT 100% PURE JAVA? I. STATUS The JavaHL bindings are currently quite mature, and can be considered for production use. They are based on the Sun JDK's javah and are used by Subclipse . Formerly, there was a Java bindings project based on SWIG, and before that, one based on hand-coded JNI. Both projects have since been abandoned. II. BUILDING The file subversion/bindings/java/javahl/README is the best reference on building. A few additional comments: * Passing the --with-maintainer-mode to configure will compile Java bytecode with debugging information. * Jikes will be the preferred compiler if it is be auto-detected. If not auto-detected, you can force its use via the --with-jikes=path flag to configure. III. INTERFACES The interface code exists to present an API which is familiar Subversion Java programmers regardless of the binding implementation method. You can find it under the org/ sub-directory. The API is likely to be adjusted to more closely align with the JavaHL implementation. If that doesn't work out, it's likely that the interface concept will be dropped entirely. IV. WHY NOT 100% PURE JAVA? tigris.org's C library is the reference implementation of a Subversion client's logic, and is the most robust client implementation available. An alternative to its rapidly maturing code base and active developer community which is of similar quality would require significant effort, effort more efficiently contributed towards further development of the loadable libraries shared by all existing implementations.