Aside from that, why can’t I create a simple application per project that uses specific interfaces that will perform the build? What unwritten law is it that prevents some teams from doing it themselves? The build script could be in the language of my project. Make it a part of my unit-tests class. Make both into an executable that can build the project and run test-units (usually part of my dev projects) and execute additional run-time unit-tests once it’s done.
I could use a library that provides build functionality to open files, move, delete, rename, update, etc., (not that much would be needed over the development language I’m using to create it). In a C# project I can’t think of anything that wouldn’t be easier to do in C# than NAnt or a Batch file or … Hmm. What else is there?