List of build automation software
Appearance
Build automation involves scripting or automating the process of compiling computer source code into binary code. Below is a list of notable tools associated with the build automation process.
Make-based tools
- make, a classical Unix build tool
- ClearMake
- mk, developed originally for Version 10 Unix and Plan 9, and ported to Unix as part of plan9port
- nmake, Bell Labs' nmake, forked into two versions after the AT&T trivestiture: a research version from AT&T Labs and an Alcatel-Lucent Bell Labs supported version
- Rake, a Ruby-based build tool
- MPW Make, developed for Mac OS Classic and similar to but not compatible with Unix make. Mac OS X comes with both GNU make and BSD make. Available as part of the Macintosh Programmer's Workshop as a free, unsupported download from Apple.
Other tools
- AnthillPro, build automation with pipeline support for deployment automation and testing. Platform and language independent.
- Apache Ant, popular for Java development and uses an XML file format
- Apache Buildr, an open-source build system based on Rake, giving the programmer the full power of scripting in Ruby and having out-of-box support for most of things one would want a build system to be capable of.
- Apache Maven, a Java tool for project management and automated software build
- A-A-P, a Python-based build tool
- Automated Build Studio, a system for automating and managing software build, test and deploy processes, with build scheduling and continuous integration support
- buildfactory, agile ALM for automated continuous integration, build, test & deployment - quality gates, SOA dependancy management and project dashboard
- Bamboo, Continuous integration software
- BuildIT, a free graphical build or task tool for Windows with an emphasis on simplicity and ease of use
- Buildout, a Python-based build system for creating, assembling and deploying applications from multiple parts
- CABIE Continuous Automated Build and Integration Environment, Open Source, written in Perl
- Cascade, a continuous integration tool that builds and tests software components after each change is committed to the repository. Also provides a "checkpointing" facility by which changes can be built and tested before they are committed.
- CMake, a tool that generates files for the native build environment, such as makefiles for Unix or Workspace files for Visual Studio.
- Contexo a C build system with integrated configuration management
- cook, a build tool with a C-like syntax
- Deb Creator, used to create .deb files
- Debian Package Maker, used to create .deb files
- ElectricCommander, is a build automation tool for automating and managing software build/test/deploy processes. It is language- and build tool-agnostic, so it will make software production tasks in any environment more repeatable, more visible, and more efficient
- FinalBuilder, for Windows software developers. FinalBuilder provides a graphical IDE to create and run build projects.
- GNU Build Tools, a collection of tools for portable builds
- Gradle, an open-source build system which provides to the user the power and expressiveness of a Groovy based DSL together with a deep and rich public API. It also provides build-by-convention support for the major build scenarios in the Java/Groovy world.
- Hudson - Extensible continuous integration engine
- icemake, a very simple tool to build, test and install C, C++ and Assembly programs and related documentation in ROFF and TeX from S-expression source descriptions
- MSBuild, the Microsoft Build Engine
- NAnt, a tool similar to Ant for the .NET framework
- OpenMake Meister, automates builds by synchronizing the compile process between IDEs such as Eclipse and .Net with the continuous integration build running outside of IDEs. Provides full scheduling automation for pre and post build to release activities.
- OMake, a portable open source build tool with a custom scripting language built on top of Make-like syntax, portable shell scripting, and integrating functionality similar to autoconf/automake
- Perforce Jam, a generally enhanced, ground-up tool which is similar to make
- premake, a LUA based tool for making makefiles and visual studio files
- Project-builder.org, a continuous packaging tool, helping building continuously multiple OS packages from sources.
- SBT, a build tool built around a DSL based on Scala.
- SCons, based around Python, with integrated functionality similar to autoconf/automake, descended from a Perl build driver called Cons
- SparkBuild, a free developer build tool, compatible with GNU Make and NMake. Provides intelligent build avoidance and build analytics.
- Tweaker (build tool), allowing task definitions to be written in any languages (or intermixed languages) while providing a consistent interface for them all.
- PBS, based around Perl, oriented towards continuous integration of large systems
- Visual Build
- Waf, Waf is a Python-based tool for configuring, compiling and installing applications. It is a replacement for other tools such as Autotools, Scons, CMake or Ant.
Comparison of build automation software
Tool Name | Operating System | Build Language | Description Language |
---|---|---|---|
A-A-P | Unix, Windows, Mac OS X | C | recipe |
Ant | OS independent | Java | XML |
AnthillPro | OS independent | language independent | Wraps Make, Ant, Maven, MsBuild, Nant, etc for controlled build, deploy, test processes. |
Automated Build Studio | Windows | language independent | visually constructed macros |
Bamboo | OS Independent | language independent | continuous integration |
buildfactory | Unix, Windows | language independent | ? |
Buildr | OS independent | Java | Ruby |
Capistrano | OS independent | Ruby | domain specific language for software builds |
CMake | OS independent | language independent | uses CMakeLists.txt file |
CruiseControl | OS independent | language independent | XML |
dmake | Linux, Solaris, Windows | OpenOffice, Solaris | uses Makefile |
ElectricCommander | OS independent | language independent | flexible including gmake, bmake, emake and ant scripts |
FinalBuilder | Windows | language independent | graphical IDE with support for Ant/NAnt, MSBuild, JScript, VBScript, IronPython & PowerShell |
Gradle | OS independent | Java/Groovy | Groovy based DSL |
icemake | OS independent | C, C++, Assembly, TeX | S-expression based |
make | OS independent | language independent | uses Makefile |
makepp | OS independent | language independent, optimized for C++ | uses Makefile |
Maven | OS independent | Java | Project Object Model |
[[Module::Build]] | OS independent | Perl | ? |
MPW Make | Mac OS Classic | ? | ? |
MSBuild | Windows | language independent | XML |
NAnt | Windows | .NET | XML |
nmake | Unix, Linux, Windows/Interix | language independent | uses Makefile |
OMake [1] | Unix, Linux, OS X, Windows | language independent | custom scripting language with make-like syntax and portable build-in shell |
OpenMake Meister [2] | Unix, AIX, Linux, Windows, z/OS | language independent | Perl, Ant, Make, MSBuild, DevEnv, Maven |
ParaBuild | ? | ? | ? |
PBS | OS independent | language independent | Perl |
Perforce Jam | OS independent | language independent | uses Jamfile |
Phing | OS independent | PHP | XML (Ant clone) |
Project-builder.org | OS independent | Perl | Perl |
PyBuild | ? | ? | Python |
Rake | OS independent | Ruby | Ruby |
SCons | OS independent | language independent | Python |
Speedy Make [3] | OS independent | language independent | XML |
Sweet Build [4] | Microsoft Windows | language independent | DSL and Lua |
Tweaker (build tool) | OS independent | language independent | Any (Ant, bash, batch, C, Erlang, Java, SQL, and VBScript by default, with 3rd party interface for extensions) |
Visual Build | Windows | language independent | XML |
Waf | OS independent | language independent | Python |
WANT | Windows | Delphi | XML |
X-Script Generator | Windows | language independent | XML |
Yabu | Unix, POSIX | language independent | uses Buildfile |
Tool Name | Operating System | Build Language | Description Language |