Monday, June 01, 2009

JavaNCSS

JavaNCSS is a little Java source measurement tool and open source project that I started some 12 years ago. It's the personal software project of mine that got the most traction and is still in some use, even thought I stopped developing in Java myself and had very little time to keep up with the support and development work that was neccessary.

With lot's of effort did move the programm to support the new Java 1.4 grammar back then, but still, some esoteric open bugs with new grammar features like annotations remained.

Then some people using the tool in their project (Sonar) and a vivid maintainer of the popular Maven build tool showed up, wanting to move things forward. With the help of Simon Brandhof and Hervé Boutemy the project got opened up, first Simon helped giving JavaNCSS an all around infrastructure (at Codehaus.org, which also hosts the JRuby, Jetty, and Groovy projects), with mailing lists, a public bug tracking system, and a source code repository that allows multiple people to work in parallel on the software. Then Hervé worked on the code to bring it into the Maven world, allowing other people and projects to include and invoke JavaNCSS easily through this popular build infrastructure.

Both changes had the effect that we got a lot more input from the user community with explicit error reports AND contributed code solutions! Over the years I had always gotten individual error reports and particular fixes, but this had all been hidden for the other users before a release and notably a bottleneck had been that changes to the Java grammars are very very tricky and time consuming without the experience. Now we got important and difficult grammar fixes contributed by Sébastien Reynaud. Freddy Mallet even made a prototype of a whole new architecture and grammar system based on the visitor pattern.

Yesterday we released the third version since these changes took place, but it has been the first one where all code changes have been done by Hervé (including test cases) with major bug fixes supplied by Sébastien!

Happy to see JavaNCSS opening up and to get a life of its own, thanks to all the people now and over the years who have given it their support...