General

Build system should remain as the core of your project release, so that you can choose the one that really suites your need.

Your build system should:

BuildMaster driver does nothing more than driving the build system and raise the error when build fails

Rake and Gem

Rake and Gem are native to Ruby so you can just invoke them as part of your release script.

For example, the following script will automatically run all the tests specified in file rakefile.rb

require 'rakefile'
load 'rake'

Apache ANT

At the moment, BuildMaster supports Ant only.

require 'buildmaster'

# Load the AntDriver by passing in the path to the build.xml file
build_file = File.join(File.dirname(__FILE__), "build.xml")
ant = AntDriver.from_file(build_file)

# You can treat each target as a method and invoke them directly
ant.build

Document Source (History)