Automate the application build and distribution process

You have enough to consider when building an open source application for a single type of system, but what if you’re building that application for distribution among a range of different, incompatible machines? There’s no easy answer, but using a little discipline and some custom scripts, you can simplify the process. This article looks at how to create a structure for building and distributing applications, including heavily customized versions, and a simple way of disseminating the applications among a number of machines, manually or automatically, as easily as possible.I always self-build applications on my systems rather than using one of the available binary or RPM distributions. This isn’t because I don’t trust RPMs, but because for many systems I use a customized environment. I might want debugging switched on or a reduced or specific set of extensions, modules, or other options. Sometimes, I even create a completely different directory structure for a specific project.To complicate matters, I work with a wide range of platforms that use open source projects, including Linux™, BSD, OS X, and various commercial UNIX® distributions. For some of these, I only have one machine; for others, I have 10, 20, or even 50 machines of each type. When a new release of a piece of software becomes available, it can be a mammoth task to update each machine by hand. Read the full article.

Improved Application Development, Part 5: Test and verify with Rational

This tutorial, the final of a five-part series, focuses on the role of software testing during application development. Testing is a vital part of any development process, and to perform adequate testing you need not only to identify faults but also to trace and track these faults, fixes, and the components they affect during each iteration of the development process. Only by tracking this information can you fix the faults and monitor the progress of your repairs. In this tutorial, we look at the integration between the Rationale software testing products and other tools used in the development process, such as RequisitePro, ClearCase, and ClearQuest.Read the full Tutorial.