«« Iteration 1 Weekend Running Plugins or RCP Application with Older Eclipse Platform »»
blog header image
Week 01 Status Report

Development on AudioMan2 has officially started as of last week so here's a status update. It was mostly a relaxing weekend (my eyes needed a rest from computer monitors) but I did manage to get two plans down on paper. I tried to get the first iterations down to a minimum. Comments?

AudioMan2 Iteration 1 Plan
Durham Iteration 1 Plan

I still owe you guys that all-encompasing singing/dancing AudioMan2 architecture diagram. It's coming Real Soon Now.

The main priority this week is to get nightly builds going on my home machine (the link won't work until it's set up). That means I need to be able to build all of the AudioMan2 projects with Ant, run their test suites, generate code coverage reports and package it all in a nice ZIP file.

What's the deal with that? It keeps the AudioMan2 committers honest, which definitely includes myself. It doesn't matter who breaks the build -- having broken code just ruins it for everyone else. We have to be able to monitor the health of the AudioMan2 projects and the best way to do it is to make sure it compiles and passes all of the tests every night. For more on this stance, see Broken Window Theory. Later on we may use something even better: continuous integration.

Will I distribute nightly builds on the AudioMan website? I don't think that's such a great idea. Of course we can discuss that on the mailing list but I don't think nightly builds are suitable for general release. See my past comments about releasing unstable test software for more on that.

Will contributors have to write unit tests? No, but contributed patches have to have a certain level of quality. It will be a lot easier for us to confirm a patch works properly if it has unit tests. Why the code coverage tool? To identify weakly tested areas and give them more attention. I'm hoping that these quality tools will facilitate outside contributions by reducing our risk of accepting patches while lowering the barrier of contribution by making testing optional. Ultimately as project manager I'll be responsible for the overall quality of AudioMan2, which is why I need to monitor it closely.

On the Java development side: this week I'm also going to work on Durham's property declaration support using test-driven development as much as I can. Wish me luck. Hey Jim, pass that Kool-Aid!

Posted at February 28, 2005 at 05:55 AM EST
Last updated February 28, 2005 at 05:55 AM EST
Comments

I know you're against releasing the nightly builds, but a lot of open source projects seem to do it. I'm not sure why. Maybe its nice to leave a link up there for people who just like to live on the edge. Another option is giving read-only access to your CVS (or whichever source control system you are using). This allows people to get the current code base if they want and build it themselves. saves the trouble of you having to produce a build every night, although batch files should be able to do this quite easily.

» Posted by: Kibbee at February 28, 2005 08:45 AM

Yeah, there will always be read only CVS access. This is a lot different than providing nightly builds because there's a higher barrier to getting the thing running.

The problem I have with releasing nightly builds or unstable releases is that people won't be able to tell them from stable releases, which was the whole point of that blog post.

» Posted by: Ryan at February 28, 2005 09:44 AM
Google
 
Search scope: Web ryanlowe.ca