List of build automation software#Build script generation

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
  • Cargo The Rust package manager and Build tool
  • D Dub – Official package and build manager of D language
  • Flowtracer – Build management tool
  • Gradle – Free software build automation tool with a Groovy- and Kotlin-based domain specific language (DSL) combining features of Ant and 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; 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.

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]
  • BuildStream A flexible, extensible framework written in Python for modeling build and CI pipelines using a declarative YAML format.
  • checkinstall – Computer program for Unix-like operating systems
  • Open Build Service – Development platform for Linux distributions

Licensing

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

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