Do you know a build tool?
April 12, 2009 – 10:00 pm Tags: ToolsDo you have a repetitive task for example in a programming project? Chances are you could automate the steps with a build tool.
For example, in one of my JavaScript projects I had to do the following:
- Put all project files to a zip file: Click each file and each dir, and choose add to zip
- Rename the zip file, and click yes to tell windows I’m sure I want to do that
- Send the zip file to my server with sftp, and click yes to confirm overwriting the file
This isn’t such a complex task, but when I had to do it every time I needed to test a small change, it quickly started to consume more time and got repetitive.
I had earlier set up Apache Ant for some Java stuff I was working on. Ant is a Java-based build automation tool, and quite similar to Phing, which you may be familiar with if you are a PHP programmer.
I wrote a short Ant build file which did the three steps mentioned earlier. Instead of having to do each manually, I could just run the build file which was much faster – even though it took a few seconds because of the sftp file-send, it meant I didn’t have to do it manually, and could use the browser to go to the test URL simultaneously.
Build tools are more common amongst compiled languages, but as you can see they can be useful even with something like JavaScript. You could even add a step to the build process which runs JSLint and Minifies the code to make it more useful.
Oh, and having a build script is even part of the Joel Test!

5 Responses to “Do you know a build tool?”
Any chance you could post the build files? I’m trying to write some Ant files to do build stuff for my web projects but haven’t found many good resources. Thanks
By David Caunt on Apr 13, 2009
I’ve been using Phing for my build management and deployments. Loving it so far. If you work on a team it’s even more critical since only you may know every single step you need to do. Our build process does up to 15 different steps (removing test dirs, run unit test suites, etc…) so the Phing script allows anyone on the team to create a quick build.
By Jim Plush on Apr 13, 2009
David: Sure
You should be able to find basic articles on phing and ant on google. After you know the basics, the Ant/Phing manuals are a good place to look for how to use the various tasks available.
By Jani Hartikainen on Apr 13, 2009
There is a new .Net build tool (a very intelligent wrapper) called NUBuild. Its lightweight, open source and extremely easy to setup and provides almost no-touch maintenance. I really like this new tool and we have made it standard tool for our continuous build and integration of our projects (we have about 400 projects across 75 developers). Try it out.
http://nubuild.codeplex.com/
Easy to use command line interface
Ability to target all .Net framework version i.e. 1.1, 2.0, 3.0 and 3.5
Supports XML based configuration
Supports both project and file references
Automatically generates the “complete ordered build list” for a given project – No touch maintenance.
Ability to detect and display circular dependencies
Perform parallel build – automatically decides which of the projects in the generated build list can be built independently.
Ability to handle proxy assemblies
Provides visual clue to the build process e.g. showing “% completed”, “current status” etc.
Generates detailed execution log both in XML and text format
Easily integrated with Cruise-Control.Net continuous integration system
Can use custom logger like XMLLogger when targeting 2.0 + version
Ability to parse error logs
Ability to deploy built assemblies to user specified location
Ability to synchronize source code with source-control system
Version management capability
By bubai on Aug 23, 2009