Saturday, September 25, 2010

CodeAssistor meets Joel on Softwares "12 steps to better code"

Last night I fixed a crash in CodeAssistor (see: https://bugs.launchpad.net/codeassistor/+bug/647139). compiled the code, and released the binary to launchpad.

I wake up and read this article by "Software Joel" http://www.joelonsoftware.com/articles/fog0000000043.html and get to point 2 "Can you make a build in one step"

By this I mean: how many steps does it take to make a shipping build from the latest source snapshot? On good teams, there's a single script you can run that does a full checkout from scratch, rebuilds every line of code, makes the EXEs, in all their various versions, languages, and #ifdef combinations, creates the installation package, and creates the final media -- CDROM layout, download website, whatever. If the process takes any more than one step, it is prone to errors. And when you get closer to shipping, you want to have a very fast cycle of fixing the "last" bug, making the final EXEs, etc. If it takes 20 steps to compile the code, run the installation builder, etc., you're going to go crazy and you're going to make silly mistakes
Crazy thing is, I ran into this problem this morning! I had to come into work and put in some "overtime," while I am here I'll get the latest CodeAssistor to work with. Unfortunately, I forgot a critical step in the build process... I forgot to type STATIC=yes on the make command. Thus the build required Scintilla as Dynamic libraries, which I of course, didn't add to the zip file.

Thus codeAssistor-v0.0.7-winExe-alpha4.zip is unrunable. DOH

I'll have to create some sort of "make distribution" command.

No comments: