Got something to write about? Check out our Article Builder.
*/
*/

Inside PH: Final Builder

Theme Graphic
Theme Graphic

$jonathan.ramble(topic => 'work' & 'play');

My random-ish ramblings about my work at Programmer's Heaven and on the Parrot project, my crazy conference schedule and whatever else I feel like posting.

Subscribe

Author

I wrote my first computer program when I was 8 years old, and I haven't bothered to stop since! I graduated from the University Of Cambridge, England, in June 2006 having read Computer Science at Emmanuel College. Currently I'm doing consultancy work, a lot of it for this very site. I'm into a whole range of music, including metal, trance, old skool, and industrial. I'm a Christian with an involvement in youth and children's work at my local church.

Archive

Tags

Posted on Thursday, January 10, 2008 at 1:41 PM

Inside PH: Final Builder

Before now I've talked about our use of the Subversion version control system and Visual Studio.Net 2008. These are two of the most important tools we all use in our day-to-day operations. Today I am going to talk about another one that saves us a lot of time and potential mistakes: Final Builder.

Programmer's Heaven is a large site. To keep the code base modular, we break it up into many libraries. Some of these libraries provide primitives that we use all over the place. On top of this bottom "layer" are another set of modules that relate to specific features. For example, we have the wiki engine, the forum, the blog engine and so on. Finally, there is the web project for the site itself.

In all, we have perhaps a dozen solution files to build each time we want to do a full build of the site to test or deploy. Doing that by hand every time would be extremely laborious and error prone, so we automate it. There are numerous ways to do this. Makefiles are perhaps the best known solution. Based on inference rules, they are certainly powerful, and pretty portable too. They are used for other projects I work on, where portability is a large concern. However, at PH we only ever build internally, always on Win32 and for deployment to an environment we have full control over.

Before I took over as lead developer here, Tore (the founder and webmaster here) had already automated the build process using Final Builder. It's GUI-driven, has plug-ins for numerous source control systems, compilers, unit test suites and so on as well as a huge range of file operations - and far more that we've just not needed yet. The build fails if any project fails to build, but we also fail if any of the unit tests fail too (something I'll talk about another time), to help prevent us from deploying broken stuff. Note that we build the unit tests and run them, but don't actually deploy them.

On a system "this big" (yes, I know, there are far, far bigger ones out there), life without an automated build tool would be rather painful. If you have a system of more than a couple of modules, I suggest you invest in something, whether it's a makefile, a home-grown script (I'd hack it up in Perl, of course ) or something like Final Builder, depending on your needs. There is a free trial of Final Builder that you can get if you want to play. (And by way of disclaimer, I'm not involved in any way with the company behind Final Builder; I'm just sharing something that has worked well for us here at PH.)

0 comments on "Inside PH: Final Builder"
No comments posted yet.

Leave A Comment
Subject:


Comment:
   Bold Italic Underline          Code Link Image Horizontal Rule


Because you do not have or are not logged in to your Programmer's Heaven account, please enter your name.

Name:


To help prevent comment SPAM, please enter the magic code '211' in the box:




Posting Rules
Please follow these rules when posting comments on blog posts.
  • Do not post anything that is racist, hate speech or of a sexual or adult nature.
  • Do not post or link to anything that infringes copyrighted laws.
  • Posting about security or legal topics is fine so long as you are not glorifying or encouraging people to perform illegal activities.
  • Both the author of this blog and the Programmer's Heaven administrators may delete any inappropriate comments without notice at their own discretion.

corner
© 1996-2008 CommunityHeaven LLC. All rights reserved. Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
North American business development: Nicolai Wadstrom. Publisher: Lars Hagelin.
Resource Listings