Jump to content

List of build automation software

From Wikipedia, the free encyclopedia

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 – de facto standard build facility for Common Lisp
  • Bazel – Software tool that automates software builds and tests
  • BitBake – Build automation tool tailored for building Linux distributions; written in Python
  • Boot – build automation and dependency management tool; 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 – programming tool aimed to assist with deploying software; Python-based
  • Cabal – package manager for Haskell software
  • D Dub – Official package and build manager of the D Language
  • Flowtracer – Build management tool
  • Gradle – Free software build automation tool; with a Groovy-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 software
  • 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 – .NET build software; based on Ant
  • Ninja – Free build automation software
  • Perforce Jam – Build tool by Perforce, inspired by Make
  • Qt Build System – cross-platform free and open-source software for managing the build process of software
  • Rake – Make-like tool written in Ruby
  • sbt – Open-source build tool for Scala and Java projects
  • SCons – software construction tool; Python-based
  • Stack – Haskell development tool
  • Visual Build – Software build automation tool with a GUI
  • Waf – software build automation tool; 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 popoular; integrated with IDEs such as Qt Creator,[1] KDevelop and GNOME Builder[2]
  • GNU build system (aka Autotools) – Software build toolset from GNU
  • GYP (Generate Your Projects) – Build automation tool created by Google; superseded by GN which generates files for ninja and other tools
  • imake – build automation system written for the X Window System
  • 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 – software build tool that generates Makefiles

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 – Monitors an installation procedure and creates a standard package for a distribution
  • Open Build Service – platform for multiple 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
Visual Build Trialware
Waf New BSD License

See also

[edit]

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