Jump to content

List of build automation software

From Wikipedia, the free encyclopedia

Below lists notable build automation tools.

Sequencing

[edit]

Make

[edit]

Tools similar to the original Unix make – one of the earliest build automation tools:

Other

[edit]
  • Apache Ant, popular for Java platform development and uses an XML file format
  • Apache Maven, a Java platform tool for dependency management and automated software build
  • ASDF LISP build system for building LISP projects
  • A-A-P, a Python-based build tool
  • Bazel, a portion of Blaze (Google's own build tool) written in Java, using Starlark (BUILD file syntax) to build projects in Java, C, C++, Go, Python, Objective-C, and others
  • BitBake, a Python-based tool with the special focus of distributions and packages for embedded Linux cross-compilation
  • Boot, a Java build and dependency management tool written in Clojure
  • boost.build For C++ projects, cross-platform, based on Perforce Jam
  • Buck, a build system developed and used by Facebook, written in Rust, using Starlark (BUILD file syntax) as Bazel
  • Buildout, a Python-based build system for creating, assembling and deploying applications from multiple parts
  • Cabal, a common architecture for building applications and libraries in the language Haskell
  • Dub, the official package and build manager of the D Language
  • Flowtracer, a build management tool
  • Gradle, an open-source build and automation system with an Apache Groovy-based domain specific language (DSL), combining features of Apache Ant and Apache Maven with more features like a reliable incremental build
  • Grunt, a build tool for front-end web development
  • Gulp, a build tool for front-end web development
  • IncrediBuild, a suite of grid computing software for compiling and building software
  • Leiningen, a tool providing commonly performed tasks in Clojure projects, including build automation
  • Mix, the Elixir build tool
  • MSBuild, the Microsoft build engine
  • NAnt, a tool similar to Ant for the .NET Framework
  • Ninja, a small build system focused on speed by using build scripts generated by higher-level build systems
  • Perforce Jam, a build tool by Perforce, inspired by Make
  • Qt Build System
  • Rake, a Ruby-based build tool
  • sbt, a build tool built on a Scala-based DSL
  • SCons, Python-based, with integrated functionality similar to autoconf/automake
  • Stack, a tool to build Haskell projects, manage their dependencies (compilers and libraries), and to test and benchmark.
  • Visual Build, a graphical user interface software for software builds
  • Waf, a Python-based tool for configuring, compiling and installing applications. It is a replacement for other tools such as Autotools, Scons, CMake or Ant

Build script generation

[edit]

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).

Continuous integration

[edit]

Configuration management

[edit]

Package managers

[edit]

A package manager is a meta-build tool capable of building many different projects using a subset of existing build tools, generally using a list or repository of build scripts called "packages".

Others

[edit]
  • checkinstall, checkinstall is a program that monitors an installation procedure and creates a standard package for your distribution.
  • Open Build Service, a hosted service to help build packages for various Linux distributions

Licensing overview

[edit]
Tool name Description 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
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
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

References

[edit]
  1. ^ mailing list discussion about porting PVCS-make scripts to GNU-make, From: Paul D. Smith, Subject: Re: PVCS to GNU, Date: 2003-02-25
  2. ^ "cmake-generators(7) — CMake 3.11.1 Documentation". cmake.org.
  3. ^ "Setting Up CMake - Qt Creator Manual". doc.qt.io.
  4. ^ a b "GNOME Builder Development Environment Picking Up Many Features For GNOME 3.28 - Phoronix". www.phoronix.com.
  5. ^ https://confluence.atlassian.com/bitbucket/build-test-and-deploy-with-pipelines-792496469.html Cross-platform