Jean-Paul Boodhoo is posting a great series (Part 1, Part 2, Part 3) on using nAnt to perform the builds for you applications. Since starting my last project I’ve become a huge proponent of nAnt, but Jean-Paul opened my eyes to an idea I had not considered.
My experience has been that nAnt is used to perform builds on a build machine either on demand or through continuous integration. Jean-Paul suggests that nAnt should be used by all developers to test their builds at their desktops. In my current environment we have nothing integrated with nAnt. No nDoc, no nUnit and no nCover. For us the use of nAnt at the desk would be to do nothing more than prove that the system compiled. We can do that, albeit slower, with F5 or Ctrl-F5 and achieve the same results….feedback on the success or failure of the compile state of the code. Now, if I were in an environment where our nAnt scripts included calls to the n. products, I would be all over Jean-Paul’s usage of nAnt. Until I get to work in the environment, I’m going to pass on deploying nAnt to the developers on my team.
Another idea that Jean-Paul broached in his posts on nAnt was that we should be able to start a development environment with on step…getting the code from the source control system. This idea I love. Recently I had the prospect of creating development environments on a number of newly formatted PCs. One of the most tedious parts (slightly less than installing VS over and over and over) was the fact that I was going to be installing nUnit, Enterprise Library, Infragistics suite, etc, etc, etc. If I’d had the foresight to include all the binary bits for these into source control, I could have saved myself a lot of work. I also like how Jean-Paul configured the folder structure in his source control system. A folder for the solution. Inside of it two folders, one for the software you are building and the other for the binary bits. Very clean, very elegant.
I’m the Igloo Coder and I’ve created a BankBalance.build file, but when it runs nothing seems to change.