Tonio's Dev blog

Tuesday, November 14, 2006

My work environment

And the most important: a great keyboard (thanks pem)

Source code analysis

I just saw an analysis of the different languages used in the Kaffe project, at http://supreetsethi.net/drupal/node/103



I wish we could have something like that for Tom. I guess it would show we have nearly no make files, very few ant scripts, and keep concentrate our efforts on Tom itself

Saturday, November 11, 2006

Setting up cia again for tom

I just added the post-commit hooks for cia to the svn repository of Tom.

That was pretty easy, except that it seems gforge does not support xml-rpc, and I had to let the cia-bot script fall back to hte old email technique.

Here is the stat page for tom: http://cia.navi.cx/stats/project/tom

Monday, November 06, 2006

subversion, encore

Bon, enfin, on arrive a avoir un dépot subversion qui fonctionne.

cvs2svn se plantait un peu sur les fichiers binaires, on a du refaire tous les imports en utilisant

cvs2svn --dump-only --keywords-off --no-default-eol ~/cvsroot

pour avoir un dépot correct

Donc maintenant, pour obtenir tom, on peut (et doit) faire:

svn co svn+ssh://login@scm.gforge.inria.fr/svn/tom/jtom/trunk jtom

Switching Tom to subversion

Today we decided to switch tom from cvs to subversion.

The expected gain is the ability to easily move things around, and also use diff in disconnected mode.
As branchs are easy to use with subversion, i hope we will soon begin to use branches for our development

The switch was not as easy as we thought, to get a correct layout of the repository, but cvs2svn helped a lot.

The new repository should be available tonight !

Friday, November 03, 2006

The build environment of tom now integrates the use of findbugs, to help spotting errors.

Yet, we are starting to fix the issues it shows.
The first ones were about an incorrect use of the Cloneable interface.

To me, this issue is weird: you should use "super.clone()" when defining the clone() method, instead of using "new", so that the class can be later extended. The problem is that I want the "clone()" method to be public, and not to throw "CloneNotSupportedException". Then, y have to "try{ } catch" this exception in the clone method, and send a RuntimeException in the catch part. But it will never happen, as I implement Cloneable.

Is Java's Cloneable interface simply poorly designed, or am I simply misusing it? Seems like Joshua Blosh favor the first solution.

I will mainly use this blog to talk about Tom development, and uninteresting things.