List of build automation software
From Wikipedia, the free encyclopedia
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.
[edit] Make-based tools
- bmake, portable version of NetBSD make
- build
- cake
- Clearmake
- CMake
- distcc
- distmake
- dmake
- JMake
- JMK
- kbuild
- make, a classic Unix build tool
- makeLib
- makeme
- MakeModules
- Make:NG
- makeplus
- makepp
- make utilities
- mk, developed originally for Version 10 Unix and Plan 9, and ported to Unix as part of plan9port
- mk-configure, lightweight alternative for GNU autotools, CMake and SCons based on bmake
- mmm
- Mosmake
- 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.
- 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
- OMake
- Opus Make
- Paradigm Visual Make
- PHPmake
- Prime Mover
- Prototype Makefiles
- PVM Gmake
- Qmake
- Rake, a Ruby-based build tool.
- SCons
- Sire
- smake
- Supermake
- SMK
- tmk
- Yabu
[edit] Non Make-based tools
- 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 Ivy
- Apache Maven, a Java tool for project management and automated software build.
- A-A-P, a Python-based build tool.
- Boost.Build
- bras
- builditis
- Buildtool
- Cabal, Common architecture for building applications and libraries in the Haskell programming language
- Cake, a Python-based build tool.
- cake, a Clojure build tool
- cook
- dev-env
- Flowtracer
- Gconfigure
- Gradle, an open-source build and automation system with a Groovy DSL, combining the advantages of Ant and Maven plus providing many innovative features like a reliable incremental build.
- hmake
- Istrice
- leiningen, a Clojure build tool
- MSBuild, the Microsoft Build Engine.
- mxx-ru
- NAnt, a tool similar to Ant for the .NET framework.
- ninja
- ocamlbuild
- Odin
- OSE
- Perforce Jam, a generally enhanced, ground-up tool which is similar to make.
- PerlBuildSystem
- Phing
- ProjectBuilder
- Rant
- Schmant
- Simple Build Tool, 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.
- Source 2 Binary
- TMake, written in C, but uses Lua for configuration files.
- Sweet Build, a Lua scriptable build tool.
- tup Build system that uses file system monitoring to provide automatic dependency discovery and near-optimal build times.
- Tweaker, allowing task definitions to be written in any languages (or intermixed languages) while providing a consistent interface for them all.
- Visual Build, a GUI software for software builds.
- 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.
- XMake
- XMAKE
- Yruba, a rule system similar to make or ant for the shell
[edit] Build Script Generation Tools
- ANTIAUTO
- automake
- Bakefile
- ccbuild
- CMake, a tool that generates files for the native build environment, such as makefiles for Unix or Workspace files for Visual Studio.
- cmvn - Multi-project configurator and generator of Apache Maven pom.xml files
- confix
- GNU Build Tools, a collection of tools for portable builds.
- GYP - Created for Chromium; it is another tool that generates files for the native build environment.
- imake
- MakeMake
- Maker
- mfg
- mmake
- MPC, a free product that creates build tool files for many versions of Make, Visual Studio, Eclipse, and more.
- OpenMake Meister, build script generation and dependency management engine; also includes continuous integration capabilities.
- Otto
- Premake, a Lua based tool for making makefiles, Visual Studio files, Xcode projects, and more.
- Pre Make Kit
- RPSL
- Sdist
- Sol Manager
- tmake
- toc
- XPJ
[edit] Continuous Integration Tools
- AnthillPro, build automation with pipeline support for deployment automation and testing. Platform and language independent.
- Bamboo, Continuous integration software.
- Automated BuildStudio, a system for automating and managing software build, test and deploy processes, with build scheduling and continuous integration support.
- Apache Continuum
- Apache Gump
- BuildBeat
- BuildBot, a Python-based software development continuous integration tool which automates the compile/test cycle.
- BuildIT, a free graphical build or task tool for Windows with an emphasis on simplicity and ease of use.
- BuildMaster, an integrated build, release, and application lifecycle management system developed by Inedo.
- BuildMonkey
- Buildout, a Python-based build system for creating, assembling and deploying applications from multiple parts.
- BusyB
- 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.
- CruiseControl
- Dart
- DSSS
- Electric Commander
- FinalBuilder, for Windows software developers. FinalBuilder provides a graphical IDE to create and run build projects.
- Go, continuous integration and Agile release management solution, Platform and language independent.
- Jenkins, an extensible continuous integration engine. (Formerly known as Hudson.)
- IBM Rational Build Forge
- IKAN ALM - Web-based ALM 2.0 platform supporting continuous integration and lifecycle management.
- Lintouch
- Luntbuild
- MidWatch
- OpenMake Meister, build script generation and dependency management engine; also includes continuous integration capabilities.
- OpenMake Mojo, free continuous integration server.
- Parabuild
- PBS, based around Perl, oriented towards continuous integration of large systems.
- PTXdist
- TeamCity
- Test-AutoBuild
- QEF
[edit] Hosted Continuous Integration Tools
- BuildLocker - Web-based continuous integration solution for Java and .NET projects.
- CI Foundry - Outsourced Continuous Integration service (Java, .NET and Ruby)
- CloudBees DEV@cloud - Jenkins as a Service
- Continuous.io - Hosted Continuous Integration (mainly for Python, but custom build scripts can be used)
- FaZend - Free Hosted Continuous Integration Environment
- Hosted CI - Hosted Continuous Integration for iOS and Mac (based on Jenkins)
- Shining Panda - Hosted Continuous Integration for Python (based on Jenkins)
- Travis CI - A distributed build system for the open source community
[edit] Configuration Management Tools
[edit] Dependency Generator Tools
[edit] Other Tools
[edit] Comparison of build automation software
| Tool Name |
Operating System |
Build Language |
Description Language |
License |
| A-A-P |
Unix, Windows, Mac OS X |
C |
recipe |
GNU GPL |
| Ant |
OS independent |
Java |
XML |
Apache License 2.0 |
| AnthillPro |
OS independent |
language independent |
Wraps Make, Ant, Maven, MsBuild, Nant, etc for controlled build, deploy, test processes. |
Proprietary |
| Automated BuildStudio |
Windows |
language independent |
graphical IDE with support for Ant/NAnt, MSBuild, JScript, VBScript and DelphiScript |
Proprietary |
| Bamboo |
OS Independent |
language independent |
continuous integration |
Proprietary |
| buildfactory |
Unix, Windows |
language independent |
? |
Proprietary |
| Buildr |
OS independent |
Java |
Ruby |
Apache License 2.0 |
| Cake |
OS independent |
language independent |
Python |
MIT License |
| Capistrano |
OS independent |
Ruby |
domain specific language for software builds |
MIT License |
| CMake |
OS independent |
language independent |
uses CMakeLists.txt file |
New BSD License |
| Continuum |
OS independent |
Java |
? |
Apache License 2.0 |
| CruiseControl |
OS independent |
language independent |
XML |
BSD-style license |
| dmake |
Linux, Solaris, Windows |
OpenOffice, Solaris |
uses Makefile |
? |
| ElectricCommander |
OS independent |
language independent |
flexible including gmake, bmake, emake and ant scripts |
Proprietary |
| Fabricate |
OS independent |
language independent |
Python |
? |
| FinalBuilder |
Windows |
language independent |
graphical IDE with support for Ant/NAnt, MSBuild, JScript, VBScript, IronPython & PowerShell |
Proprietary |
| Go |
OS independent |
language independent |
graphical IDE with support for Ant/NAnt, MSBuild, rake and any tool with a command line interface |
Proprietary, cost-free Community edition license |
| Gradle |
OS independent |
Java/Groovy |
Groovy based DSL |
Apache License 2.0 |
| icemake |
OS independent |
C, C++, Assembly, TeX |
S-expression based |
? |
| IKAN ALM |
OS independent |
language independent |
Ant, NAnt, Maven2, Any tool via the API |
Proprietary |
| make |
OS independent |
language independent |
uses Makefile |
Various |
| makepp |
OS independent |
language independent, optimized for C++ |
uses Makefile |
GNU GPL |
| mk-configure |
OS independent |
language independent |
uses Makefile (bmake dialect) |
BSD-style license |
| Maven |
OS independent |
Java |
Project Object Model |
Apache License 2.0 |
| Module::Build |
OS independent |
Perl |
? |
GNU GPL |
| MPW Make |
Mac OS Classic |
? |
? |
? |
| MSBuild |
Windows |
language independent |
XML |
Proprietary but free to use |
| NAnt |
Windows |
.NET |
XML |
GNU GPL |
| nmake |
Unix, Linux, Windows/Interix |
language independent |
uses Makefile |
? |
| OMake |
Unix, Linux, OS X, Windows |
language independent |
custom scripting language with make-like syntax and portable build-in shell |
GNU GPL |
| OpenMake Meister |
Unix, Linux, Windows, z/OS |
language independent |
XML, Perl, REXX |
Proprietary |
| OpenMake Mojo |
Unix, Linux, Windows |
language independent |
XML, Perl |
Proprietary, free edition available |
| ParaBuild |
? |
? |
? |
Proprietary with a free small team edition |
| PBS |
OS independent |
language independent |
Perl |
Artistic 1 & GPL 1 |
| Perforce Jam |
OS independent |
language independent |
uses Jamfile |
Proprietary with a free licence for opensource projects |
| Phing |
OS independent |
PHP |
XML (Ant clone) |
GNU Lesser GPL |
| PyBuild |
? |
? |
Python |
GNU GPL |
| Rake |
OS independent |
Ruby |
Ruby |
MIT License |
| SCons |
OS independent |
language independent |
Python |
MIT License |
| Simple Build Tool |
OS independent |
Scala/Java |
Scala based DSL |
BSD |
| Speedy Make |
OS independent |
language independent |
XML |
GNU GPL |
| Sweet Build |
Microsoft Windows |
language independent |
DSL and Lua |
libpng License |
| TMake |
Windows, Linux and BSD |
language independent |
lua |
GPL v3 |
| 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) |
GPL v3 |
| Visual Build |
Windows |
language independent |
XML |
Proprietary |
| Waf |
OS independent |
language independent |
Python |
New BSD License |
| WANT |
Windows |
Delphi |
XML |
? |
| X-Script Generator |
Windows |
language independent |
XML |
? |
| Yabu |
Unix, POSIX |
language independent |
uses Buildfile |
Public domain |
| Tool Name |
Operating System |
Build Language |
Description Language |
License |
[edit] Debugging and Understanding Build Automation