You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Sean Russell <se...@germane-software.com> on 2002/06/06 20:11:46 UTC

[Patch] Java bindings

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I was trying to get the Java client library to work because I'm building an 
SVN module for jEdit (www.jedit.org).  In the process, I /think/ that I've 
brought the Java bindings more or less up to date, and am attaching a patch.  
This patch is against the code in subversion/bindings/java/jni,  r2091.  This 
doesn't improve on the pre-existing work; it just makes it compile against 
the current SVN API.  I'll probably drop this sub-project, because for as 
much as the library depends on JNI, I may as well just exec the svn binary 
directly.

I'm also attaching an ant build file.  It replaces build-java.sh and 
run-tests.sh, but doesn't yet take over for build.sh (although it does call 
that script).  Run 'ant help' to get a list of the tasks it supports.  I know 
there's been some past controversy about ant build files; I don't really care 
if the ant build file is included with the SVN distribution or not -- it's 
for my own comfort, and I thought others might be interested in it.

This patch does a number of things, but they're all related to getting stuff 
to compile and run with as few errors as possible. Several (well, three) 
tests fails, because they are still not yet implemented.  I haven't touched 
those.  One test fails because of an AbstractMethodError which, after I 
tracked it down, I see that somebody was banging their head against as well 
- -- although there was no mention of it in the logs.  I haven't figured out 
why it is being thrown.  The entire clientimpl_status section seems to be 
rather broken.

NOTE THAT YOU DON'T WANT TO APPLY THIS PATCH unless you're willing to incurr a  
JDK 1.2+ dependancy on this binding.

Here's the log of my changes:

* Added stuff to build-java.sh to make it work with JDK1.2.  This part of the 
patch is redundant, because all of the work done by build-java.sh is now done 
by the ant build file.
* Changes to run-tests.sh which are, again made redundant by build.xml
* Turned back on compilation of libsvn_jni.so.  I'm guessing this is the 
target library
* Changes to clientimpl_status.c tune the JNI library to the current SVN API; 
things like changing the objects being passed so that they're the correct 
type and adjusting the number of arguments to match the current API.
* Similar changes to entry.c, for similar reasons
* TestStatus.java has been largely commented out until I figure out what is 
wrong with clientimpl_status.c

I'm no longer subscribed to the list, so if you want to me to hear you, you'll 
have to CC me.  Send flames and rants to /dev/null.

- -- 
 |..  Unix is an operating system.  
<|>   OS/2 is half an operating system.  
/|\   Windows is a shell.  
/|    DOS is a bootsector virus.
 |
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE8/8IDP0KxygnleI8RAvdgAKDOH60W6tGljdHMjgGfjssR+sQdEACfSzoh
FlftNfsVly9c4kkoi1Ci8JM=
=tzA3
-----END PGP SIGNATURE-----