General purpose build system in Ruby