Work has begun on developing CollateX.
First a note on some of the tools we are using. We’ve choose to go with developing this in Java, now I know that several people will ask the question “Why Java instead of languageX?” but that question is a minefield I’m not willing to get into, so lets just stick with we are using Java.
As for the build manager, I have choosen Maven. Even after a short test this seems miles ahead of Ant, no/minimal build configuration/automatically dependency download/great range of plugins/etc. So for those that download the latest code I’d recommend installing Maven as well.
And lets not forget JUnit. We are going to try and loosely apply an Agile style development. So we produce discrete segments of working code, test each section, then move on to the next. So simple code->test, code->test and so on. We’ll built sections of the program, make the code/API available and built upwards safe (hopefully) in the knowledge that each part of the program that has been coded is working and does what we require.
We are using Sourceforges SVN repository to hold the code, but personally I’m running Git which makes it a easy to sync with a SVN repository. What this means is that I’ll push out major changes/fixes to the SVN repository but I can keep track of smaller changes locally and revert when myself when needed.
I’d recommend watching this video by Linus Torvalds if you’d like to see the benefits of using a distributed revision control system over something like SVN/CVS. I’ll looking publishing my Git repository as well at some point in the future for those that would prefer to work with this rather than SVN.
As I push out changes to SVN I’ll also push out updated API documentation.