List of build automation software

This page lists notable software build automation tools and systems.

## Sequencing

[edit]

These tools sequence build operations – often based on dependencies – sometimes running tasks in parallel.

* Apache Ant – Java build tool; uses XML format for configuration files
* Apache Maven – Software tool for managing build dependencies
* ASDF
* Bazel – Software tool that automates software builds and tests
* BitBake – Build automation tool often used for building Linux distributions; written in Python
* Boot; written in Clojure
* Boost boost.build – For C++ projects, cross-platform, based on Perforce Jam
* Buck – Build system developed and used by Meta Platforms; written in Rust, using Starlark (BUILD file syntax) as Bazel
* Buildout; Python-based
* Cabal
* D Dub – Official package and build manager of the D Language
* Flowtracer – Build management toolPages displaying short descriptions of redirect targets
* Gradle – Free software build automation tool; with a Groovy\- and Kotlin-based domain specific language (DSL), combining features of Apache Ant and Apache Maven with more features like a reliable incremental build
* Grunt – JavaScript build tool
* Gulp – Server-side JavaScript build tool
* IncrediBuild – Grid computing softwarePages displaying short descriptions of redirect targets
* Leiningen – Build automation tool; for Clojure projects
* Make – Software build automation tool; one of the earliest build automation tools; many variants
* Mix – Build automation software for Elixir
* MSBuild – Build automation software; from Microsoft
* NAnt; based on Ant
* Ninja – Free build automation software
* Perforce Jam – Build tool by Perforce, inspired by Make
* Qt Build System
* Rake
* sbt – Open-source build tool for Scala and Java projects
* SCons – Software development tool; Python-based
* Stack – Haskell development tool
* Waf; Python-based

## Meta build

[edit]

Called meta-build tools, these generate configuration files for other build tools such as those listed above.

* CMake – Cross-platform build tool for configuring platform-specific builds; very popular; integrated with IDEs such as Qt Creator,[1] KDevelop and GNOME Builder[2]
* GNU build system (aka Autotools) – Software build toolset from GNUPages displaying short descriptions of redirect targets
* GYP (Generate Your Projects) – Build automation tool created by Google; superseded by GN which generates files for ninja and other tools
* imake
* OpenMake Software Meister
* Meson – Build automation tool; integrated with GNOME Builder[2]
* Premake – Cross-platform build tool for configuring platform-specific builds; written in Lua
* qmake

## Continuous integration

[edit]

Continuous integration systems automate build operations at a relatively high level via features including: scheduling and triggering builds, storing build log and output files and integrating with version control systems.

* AnthillPro – Continuous integration server
* Apache Continuum – Continuous integration server for building Java-based projects; discontinued
* Bitbucket Pipelines and Deployments – Continuous integration for Bitbucket hosted repositories[3]
* Buildbot – Continuous integration testing framework
* CruiseControl – Software continuous build framework
* Go continuous delivery – Open source, cross-platform
* GitLab Runner – Continuous integration
* GitHub Actions – Free continuous integration service for open-source projects
* Hudson – Continuous integration tool
* Jenkins – Open source automation server; Hudson fork
* Spinnaker – Open source multi-cloud continuous delivery service from Netflix and Google
* TeamCity – Build management and continuous integration server
* Travis CI – Service to build and test software projects

## Others

[edit]

* checkinstall – Computer program for Unix-like operating systemsPages displaying short descriptions of redirect targets
* Open Build Service – Development platform for Linux distributions

## Licensing

[edit]

Tool  | License

|

Ant | Apache License 2.0
AnthillPro | Discontinued
Bamboo | Trialware
Bazel | Apache License 2.0
Boot | Eclipse Public License
Capistrano | MIT License
CMake | New BSD License
Collective Knowledge Framework | New BSD License
Continuum | Apache License 2.0
CruiseControl | BSD-style license
Dub | MIT License
Gradle | Apache License 2.0
Jenkins | MIT License
Homebrew | Simplified BSD License
Leiningen | Eclipse Public License
make | Same as the bundling OS
Maven | Apache License 2.0
Meson build system | Apache License 2.0
MPW Make | Freeware
MSBuild | MIT License
NAnt | GNU GPL
nmake | Freeware
Open Build Service | GNU GPL
Perforce Jam | Discontinued
Rake | MIT License
sbt (Simple Build Tool) | New BSD License
SCons | MIT License
Team Foundation Server | Trialware
Waf | New BSD License

## See also

[edit]

* Comparison of continuous integration software
* List of software package management systems
* List of version-control software
* Make variants – Tools based on or very similar to Unix make
* Software configuration management – Tracking and controlling software changes

## References

[edit]

1. ^ "Setting Up CMake - Qt Creator Manual". doc.qt.io.
2. ^ a b "GNOME Builder Development Environment Picking Up Many Features For GNOME 3.28 - Phoronix". www.phoronix.com.
3. ^ https://confluence.atlassian.com/bitbucket/build-test-and-deploy-with-pipelines-792496469.html Cross-platform