
		     Subversion Java integration
		     ===========================

$LastChangedDate: 2006-03-18 20:23:14 +0000 (Sat, 18 Mar 2006) $


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 <http://subclipse.tigris.org/>.

       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
       to 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.
