Product Reviews

Code, Build, Repeat

FinalBuilder adds new .NET capabilities to its project-building repertoire.

I looked at FinalBuilder about a year ago when it was at version 1.2, and I was impressed. In the intervening time, the version number has gone up to 1.5 thanks to a steady stream of releases, so I thought I'd take another look. Now I'm even more impressed.

FinalBuilder is a product designed to help you build software in a simple and repeatable fashion. The program's graphical interface is populated with a list of actions. These include such things as:

- Run a DOS command
- Copy or move a file
- Compile a project
- Check in or check out files
- Build an installation project
- Send email
- FTP a file
- Compile a help file
- Create a zip file
- Run a testing project

As you add actions to your FinalBuilder project, property sheets prompt you for file locations, target files, compiler flags to set, and so on. Other actions allow you to add looping and conditional activities to a FinalBuilder project. Actions also support scriptable before and after events that allow you to tie in an active scripting language for additional processing.

New actions in the last year include compiling Visual Studio .NET projects, performing source code control operations with Perforce or CVS (as well as VSS), compiling Borland C++ Builder projects, reading and writing Registry keys, compiling Visual C++ 6.0 projects, and running InstallShield Developer 7 or 8. There's also an API to let you plug in your own actions if you like (using Delphi).

When you're done, press a single toolbar button and watch FinalBuilder get to work. In one fairly complex project, for example, my FinalBuilder project updates the version numbers in some interlocked Visual Studio .NET projects, builds them, copies DLLs to testing folders, labels the VSS repository with the build number, runs unit tests, builds documentation, zips up the results (using the build number in the zip file name), uploads the results and the log files to an FTP server, and sends e-mail to the project participants. If anything goes wrong, I get a clear message on screen and in the log file. You can trigger builds from the command line or on a scheduled basis, as well as from the GUI.

It takes some effort to set up a system like this, but it's worth it. The easier you make builds, the more likely you are to do them on a regular basis. With FinalBuilder, even a complex build only holds my attention for thirty seconds, until it sends me e-mail. That's a great productivity enhancement.

About the Author

Mike Gunderloy, MCSE, MCSD, MCDBA, is a former MCP columnist and the author of numerous development books.

Featured

comments powered by Disqus

Subscribe on YouTube