Ayende @ Rahien

Unnatural acts on source code

Managing Complex Build Scripts: Quick & Dirty Solutions

As long as I am talking about reducing pain, here is a sample from a very secret project that I am woring on. I have a lot of parameters for the build script, and it got to be a PITA to try to manage them manually. There are several kinds of builds that I can do here, test, production, DB rebuilds, deploy, etc.

This quick (and very dirty) solution took about an hour of coding to build properly, and I just added some minor details after the intial build, enough to make it even more useful.

It is a build parameters UI for MSBuild, which basically display all the PropertyGroup elements, and apply simple heuristics for trying to figure out what the values are. For instnace, it can discover boolean values (and display check boxes), and clicking on the "..." buttons will display an Open File, Browse Folder, or Connection String dialogs, as appropriate.

As I said, it took about an hour (I wanted to leave it to my team-mates when I was at DevTeach), and it paid back in time, effort and sheer pleasure many times since. 

If you are a developr and you have some pain points, fix them, it will be well worth it.

(Yes, Roy, I know that Final Builder has a prettier interface :-) )

BuildEditor.png

 

Comments

Tomas Restrepo
05/21/2007 11:55 PM by
Tomas Restrepo

Around here, that's what we call "engineer's UI" :)

Looks pretty cool, though!

shawn
05/21/2007 11:57 PM by
shawn

This is pretty cool. Right now we're using multiple CCNet projects to accomplish a much less complete version of this. Are you planning on adding this to Rhino.Commons or something?

Ayende Rahien
05/22/2007 05:37 AM by
Ayende Rahien

It is already on SVN, but this is what I define as a utility, not real code. This means that it is there to serve a very specific need, and may be in appropriate for many scenarios.

https://rhino-tools.svn.sourceforge.net/svnroot/rhino-tools/trunk/Utilities/BuildEditor

Comments have been closed on this topic.