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 automating build processes.
make
implementation with a large set of extensionsmake
but with additional syntax features[1]These generator tools do not build directly, but rather generate files to be used by a native build tool (as the ones listed in the previous two sections).
Main article: Comparison of continuous integration software |
A meta-build tool is capable of building many different projects using a subset of existing build tools. Since these usually provide a list of packages to build, they are also often called package managers.
Tool name | Description language | License |
---|---|---|
A-A-P | recipe | GNU GPL |
Ant | XML | Apache License 2.0 |
AnthillPro | Wraps Make, Ant, Maven, MsBuild, Nant, etc. for controlled build, deploy, test processes. | Discontinued |
Bamboo | continuous integration | Trialware |
Bazel | BUILD/Starlark, a Python-like DSL | Apache License 2.0 |
BuildAMation | C# for build scripts, XML for high level dependencies | New BSD License |
Buildr | Ruby | Apache License 2.0 |
Boot | Clojure | Eclipse Public License |
Capistrano | XML | MIT License |
CMake | uses CMakeLists.txt file | New BSD License |
Collective Knowledge Framework | Python scripts with JSON API and JSON meta-description | New BSD License |
Continuum | ? | Apache License 2.0 |
CruiseControl | XML | BSD-style license |
Dub | JSON, SDL | MIT License |
FinalBuilder | graphical IDE with support for Ant/NAnt, MSBuild, JScript, VBScript, IronPython, PowerShell | Trialware |
Gradle | Groovy-based DSL; Kotlin-based DSL | Apache License 2.0 |
Jenkins | continuous integration | MIT License |
Homebrew | Ruby | Simplified BSD License |
Leiningen | Clojure | Eclipse Public License |
make | uses Makefile | Same as the bundling OS |
Maven | Project Object Model | Apache License 2.0 |
Meson build system | custom DSL | Apache License 2.0 |
MPW Make | ? | Freeware |
MSBuild | XML | MIT License |
NAnt | XML | GNU GPL |
nmake | uses Makefile | Freeware |
Open Build Service | uses various package and image description formats (spec, dsc, ARCH, kiwi) | GNU GPL |
Perforce Jam | uses Jamfile | Discontinued |
Rake | Ruby | MIT License |
sbt (Simple Build Tool) | Scala-based DSL | New BSD License |
SCons | Python | MIT License |
Team Foundation Server | MSBuild, Windows Presentation Foundation, JSON - REST interfaces, Programmatic (Can generate definitions through code) | Trialware |
Visual Build | XML | Trialware |
Waf | Python | New BSD License |