HOME

TheInfoList



OR:

This page lists notable software build automation
tools A tool is an object that can extend an individual's ability to modify features of the surrounding environment or help them accomplish a particular task. Although many animals use simple tools, only human beings, whose use of stone tools dates ...
and systems.


Sequencing

These tools sequence build operations often based on dependencies sometimes running tasks in parallel. * ; uses
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
format for configuration files * * * * ; written in Python * ; written in
Clojure Clojure (, like ''closure'') is a dynamic programming language, dynamic and functional programming, functional dialect (computing), dialect of the programming language Lisp (programming language), Lisp on the Java (software platform), Java platfo ...
* Boost boost.build For C++ projects, cross-platform, based on Perforce Jam * ; written in Rust, using Starlark (BUILD file syntax) as Bazel * ; Python-based * * D Dub Official package and build manager of the D Language * * ; with a
Groovy ''Groovy'' (or, less commonly, ''groovie'' or ''groovey'') is a slang colloquialism popular during the 1960s and 1970s. It is roughly synonymous with words such as "excellent", "fashionable", or "amazing", depending on context. History The word ...
- and Kotlin-based
domain specific language A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging ...
(DSL), combining features of
Apache Ant Apache Ant is a software tool for automating software build processes for Java applications which originated from the Apache Tomcat project in early 2000 as a replacement for the Make build tool of Unix. It is similar to Make, but is implement ...
and
Apache Maven Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. The Maven project is hosted by The Apache Software Foundation, where it was ...
with more features like a reliable incremental build * * * * ; for Clojure projects * ; one of the earliest build automation tools; many variants * * ; from
Microsoft Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
* ; based on Ant * * Perforce Jam Build tool by Perforce, inspired by Make * * * * ; Python-based * * ; Python-based


Meta build

Called ''meta-build'' tools, these generate configuration files for other build tools such as those listed above. * ; very popular; integrated with IDEs such as
Qt Creator Qt Creator is a cross-platform C++, JavaScript, Python and QML integrated development environment (IDE) which simplifies GUI application development. It is part of the SDK for the Qt GUI application development framework and uses the Q ...
, KDevelop and GNOME Builder * * ; superseded by GN which generates files for
ninja A , or was a spy and infiltrator in pre-modern Japan. The functions of a ninja included siege and infiltration, ambush, reconnaissance, espionage, deception, and later bodyguarding.Kawakami, pp. 21–22 Antecedents may have existed as ear ...
and other tools * * OpenMake Software Meister * ; integrated with GNOME Builder * ; written in Lua *


Continuous integration

Continuous integration Continuous integration (CI) is the practice of integrating source code changes frequently and ensuring that the integrated codebase is in a workable state. Typically, developers Merge (version control), merge changes to an Branching (revisio ...
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 Version control (also known as revision control, source control, and source code management) is the software engineering practice of controlling, organizing, and tracking different versions in history of computer files; primarily source code t ...
systems. * * * Bitbucket Pipelines and Deployments Continuous integration for Bitbucket hosted repositorieshttps://confluence.atlassian.com/bitbucket/build-test-and-deploy-with-pipelines-792496469.html Cross-platform * * * Go continuous delivery Open source, cross-platform *
GitLab GitLab is a software forge primarily developed by GitLab Inc. It is available as a community edition and a commercial edition. History GitLab was created in 2011 by Ukrainian programmer Dmitriy Zaporozhets as a side project written in Rub ...
Runner Continuous integration *
GitHub GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
Actions Free continuous integration service for open-source projects * * ; Hudson fork *
Spinnaker A spinnaker is a sail designed specifically for sailing off the wind on courses between a Point of sail#Reaching, reach (wind at 90° to the course) to Point of sail#Running downwind, downwind (course in the same direction as the wind). Spinna ...
Open source multi-cloud continuous delivery service from Netflix and Google * *


Others

* *


Licensing


See also

* * * * Make variants Tools based on or very similar to Unix make *


References

{{reflist Build automation build automation