Atom4J, Subversion, and Mac OS X
Happy news today: Lance accepted me as a committer on Atom4J (thanks Lance). I'm going to be helping him to keep Atom4J in line with the developing Atom Format and API specs. Atom4J, by the way, is not just an Atom Format parser, it is also a Atom API server framework. If you want to add Atom API support to your Java-based Web application, all you have to do is to extend the abstract org.osjava.atom4j.servlet.AtomServlet
and provide implementions for a handful of abstract methods. I'm interested in adding Atom API client capabilties to Atom4J and I've already made some progress on that front.
Now, on to the less happy part of the story. Atom4J is hosted at OSJava.org in a Subversion archive. This is my first experience with Subversion and getting set up took some time. I ran into some problems on my platform of choice, which is Mac OS X, but I eventually found some level of success. Here's what I did:
- I use Eclipse 3.0 so I installed Subclipse, the Subversion plugin for Eclipse. Unfortunately, I could not get Subclipse to support SSL. I was able to get Subclipse to checkout Atom4J by using HTTP protocol instead of HTTPS, but, because of this, I could not do a commit via Subclipse.
- By default, Subclipse uses it's own Java-based Subversion client implementation, but Subclipse can also be configured to use a command line verison of Subversion if one exists on your computer. So I decided to get the command line version of Subversion.
- I used Fink to install svn with
fink install svn
. Unfortunately, the version of svn that it installs does not support SSL and is therefore useless to me. - After some googling around, I found that what I needed was svn-client-ssl, so I tried to get that from fink. Fink told me that I needed system-java14-dev. After some more googling, I found that I needed to re-install the Java SDK so I did. I tried find again and this time Fink told me that it was unable to upgrade db42-ssl-shlibs because it conflicted with db42-shlibs. So I uninstalled db42-shlibs and ran Fink again. Fink cranked away fetching and building for about 45 minutes and died with some other error that I can't remember. At this point, I gave up on Fink for the day.
- Finally, I found a blog entry that pointed me in the right direction. Bill Bumgardner wrote about Martin Ott's pre-built Subversion binaries for Mac OS X. So I downloaded and installed those.
- I went back to Eclipse, configured Subclipse to use my new SSL ready command-line version of Subversion and presto magico, after several hours of flailing around, everything started working.
UPDATE: In his O'Reilly weblog Brian Coyner shows how to build Subversion and Java bindings on Mac OS X. I wonder if his instructions result in an SSL capable client.
Posted by Henri Yandell on July 18, 2004 at 03:29 PM EDT #
sudo apt-get update
sudo apt-get install svn-client-ssl (e.g.)
or use the Binary menu in FinkCommander. Like this you don't need to compile all dependencies just to get a client. But you only get version 1.0.0, since there is no binary version available for svn 1.0.6 yet. A newer binary version in Fink should be available in the next weeks.
Hope this helps, Chris.
Posted by chris01 on July 22, 2004 at 08:18 AM EDT #
Posted by jason on July 23, 2004 at 03:23 AM EDT #