List of build automation software
Appearance
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]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