Telerik blogs

I am using and learning .NET since my coming to telerik.  That would be more than a year.  If I had to pick a single tool that has been indispensable throughout that time, I would choose NAnt.  It is a build automation tool with an XML based syntax, similar to Apache Ant.  It has a host of useful tasks, that can make the building of a .NET assembly a piece of cake.  NAnt has a sister project -- NAntContrib.  It packs some Windows specific tasks, that are not directly NAnt related: IIS virtual directory manipulation, VSS file operations, etc.

*ant tools are not just build tools.  They are general automation tools too.  Their excellent fileset support makes them ideal in describing some files, and doing operations on them: copy, move, filter, archive.  You can componentize your scripts and have a modular build process, by calling subprojects and include files.  The <exec> tasks gives you fine-grained control on your subprocesses, by allowing you to modify the command line arguments, environment variables, timeouts, output logs, etc.  NAnt is very extensible: you can plug your assemblies with custom tasks and functions, and you can use the built in <script> task to define those inline in your favorite .NET language.

Thanks to NAnt my build process can run on any machine that has the right environment set up (.NET SDK, obfuscators, installers, etc).  I can migrate my build to a new machine in less than a minute.  All I have to do is open VSS, get a bootstrap build script, and run it.  It will get all necessary files from Source Safe, and build those right away.  Is that level of automation really needed or it is just too hardcore?  Drop me a line next time your integration machine's hard drive dies the night before your release date...


Comments

Comments are disabled in preview mode.