- Source: List of build automation software
Below lists notable build automation tools.
Sequencing
= Make
=Tools similar to the original Unix make – one of the earliest build automation tools:
GNU make, extends original Unix version
mk, developed originally for Version 10 Unix and Plan 9, and ported to Unix as part of plan9port
Macintosh Programmer's Workshop – Software development package for the Classic Mac OS
Microsoft nmake
PVCS-make, based on Unix Make with additional features
= Other
=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
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).
CMake generates files for various build tools, such as make, ninja, Apple's Xcode, and Microsoft Visual Studio. CMake is also directly used by some IDE as Qt Creator, KDevelop and GNOME Builder.
GNU Build System (aka autotools), a collection of tools for portable builds. These in particular include Autoconf and Automake, cross-unix-platform tools that together generate appropriate localized makefiles.
GYP (Generate Your Projects) - Created for Chromium; it is another tool that generates files for the native build environment. It has been superseded by GN which generates files for ninja and other build systems.
imake
Meson, a build system optimized for performance and usability is based on ninja on Linux, Visual Studio on Windows and Xcode on macOS. Meson is also directly used by GNOME Builder.
OpenMake Software Meister
Premake, a Lua-based tool for making makefiles, Visual Studio files, Xcode projects, and more
qmake
Continuous integration
AnthillPro, build automation with pipeline support for deployment automation and testing. Cross-platform, cross-language
Apache Continuum - discontinued
Bamboo, continuous-integration software
Bitbucket Pipelines and Deployments, continuous integration for Bitbucket hosted repositories
Buildbot, a Python-based software development continuous-integration tool which automates the compile/test cycle
CruiseControl, for Java and .NET
Go continuous delivery, open source, cross-platform
GitLab (GitLab Runner), continuous integration and git server
GitHub (GitHub Actions), free continuous integration service for open-source projects and git server
Hudson, an extensible continuous-integration engine
Jenkins, an extensible continuous-integration engine, forked from Hudson
Spinnaker, open source multi-cloud continuous delivery service from Netflix and Google
TeamCity
Travis CI, a hosted continuous-integration service
Configuration management
Ansible (Python-based)
CFEngine
Chef (Ruby-based)
LCFG
NixOS Declarative configuration model
OpenMake Software Release Engineer
Otter
Puppet (Ruby-based)
Salt (Python-based)
Rex (Perl-based)
Package managers
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".
Pkgsrc, Portage, MacPorts and other package managers derived from the BSD Ports Collection.
Nix, functional package manager for Linux and macOS focusing on reproducible builds, used for the NixOS Linux distribution.
Guix, functional package manager based on Nix, used for the GuixSD Linux distribution.
Collective Knowledge, cross-platform package manager to rebuild software environment for research workflows
Homebrew, package manager for macOS
Others
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
References
Kata Kunci Pencarian:
- List of build automation software
- Build automation
- Software build
- Bazel (software)
- Test automation
- Programming tool
- Apache Ant
- GYP (software)
- Make (software)
- Meson (software)