List of build automation software

Last updated

This page lists notable software build automation tools and systems.

Contents

Sequencing

These tools sequence build operations often based on dependencies sometimes running tasks in parallel.

Meta build

Called meta-build tools, these generate configuration files for other build tools such as those listed above.

Continuous integration

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.

Others

Licensing

ToolLicense
Ant Apache License 2.0
AnthillPro Discontinued
Bamboo Trialware
Bazel Apache License 2.0
Boot Eclipse Public License
Capistrano MIT License
CMake New BSD License
Collective Knowledge Framework New BSD License
Continuum Apache License 2.0
CruiseControl BSD-style license
Dub MIT License
Gradle Apache License 2.0
Jenkins MIT License
Homebrew Simplified BSD License
Leiningen Eclipse Public License
make Same as the bundling OS
Maven Apache License 2.0
Meson build system Apache License 2.0
MPW Make Freeware
MSBuild MIT License
NAnt GNU GPL
nmake Freeware
Open Build Service GNU GPL
Perforce Jam Discontinued
Rake MIT License
sbt (Simple Build Tool) New BSD License
SCons MIT License
Team Foundation Server Trialware
Visual Build Trialware
Waf New BSD License

See also

Related Research Articles

Software configuration management (SCM), a.k.a. software change and configuration management (SCCM), is the software engineering practice of tracking and controlling changes to a software system; part of the larger cross-disciplinary field of configuration management (CM). SCM includes version control and the establishment of baselines.

<span class="mw-page-title-main">KDevelop</span> Integrated development environment

KDevelop is a free and open-source integrated development environment (IDE) for Unix-like computer operating systems and Windows. It provides editing, navigation and debugging features for several programming languages, and integration with build automation and version-control systems, using a plugin-based architecture.

A programming tool or software development tool is a computer program that is used to develop another program. A tool provides a command line interface (CLI), a graphical user interface (GUI), or both. A CLI allows a tool to be used for automation such as for build or test.

<span class="mw-page-title-main">Apache Ant</span> Java build tool

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 implemented using the Java language and requires the Java platform. Unlike Make, which uses the Makefile format, Ant uses XML to describe the code build process and its dependencies.

<span class="mw-page-title-main">SCons</span>

SCons is a software development tool that analyzes source code dependencies and operating system adaptation requirements from a software project description and generates final binary executables for installation on the target operating system platform. Its function is similar to the more popular GNU build system.

<span class="mw-page-title-main">Continuous integration</span> Software development practice of building and testing frequently

Continuous integration (CI) is the practice of integrating source code changes frequently and ensuring that the integrated codebase is in a workable state.

<span class="mw-page-title-main">CMake</span> Cross-platform build tool for configuring platform-specific builds

CMake is a free, cross-platform, software development tool for building applications via compiler-independent instructions. It also can automate testing, packaging and installation. It runs on a variety of platforms and supports many programming languages.

Scaffolding, as used in computing, refers to one of two techniques:

Build automation is the practice of building software systems in a relatively unattended fashion. The build is configured to run with minimized or no software developer interaction and without using a developer's personal computer. Build automation encompasses the act of configuring the build system as well the resulting system itself.

<span class="mw-page-title-main">Qt Creator</span> QT development environment

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 Qt API, which encapsulates host OS GUI function calls. It includes a visual debugger and an integrated WYSIWYG GUI layout and forms designer. The editor has features such as syntax highlighting and autocompletion. Qt Creator uses the C++ compiler from the GNU Compiler Collection on Linux. On Windows it can use MinGW or MSVC with the default install and can also use Microsoft Console Debugger when compiled from source code. Clang is also supported.

<span class="mw-page-title-main">Jenkins (software)</span> Open source automation server

Jenkins is an open source automation server. It helps automate the parts of software development related to building, testing, and deploying, facilitating continuous integration, and continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat, or by default as a stand-alone web-application in co-bundled Eclipse Jetty. It supports version control tools, including AccuRev, CVS, Subversion, Git, Mercurial, Perforce, ClearCase, and RTC, and can execute Apache Ant, Apache Maven, and sbt based projects as well as arbitrary shell scripts and Windows batch commands.

<span class="mw-page-title-main">PyCharm</span> Python programming integrated development environment

PyCharm is an integrated development environment (IDE) used for programming in Python. It provides code analysis, a graphical debugger, an integrated unit tester, integration with version control systems, and supports web development with Django. PyCharm is developed by the Czech company JetBrains and built on their IntelliJ platform.

GYP is an obsolete build automation tool created in 2011 by Google. Its purpose was to generate native IDE project files for building the Chromium web browser and is licensed as open source software using the BSD software license.

Perforce Software, Inc. is an American developer of software used for developing and running applications, including version control software, web-based repository management, developer collaboration, application lifecycle management, web application servers, debugging tools, platform automation, and agile planning software.

Probo is a user automated testing tool that provides continuous integration, workflow organization and quality assurance using the same tool for project managers and developers.

Buck is a multi-language build system developed and used by Meta Platforms, Inc. It was designed for building small, reusable modules consisting of code and resources within a monorepo. It supports many programming languages, including C++, Swift, Unix Shell, Java, Kotlin, Python, Lua, OCaml, Rust and Go. It can produce binary outputs for a variety of target platforms including iOS, Android, .NET, and Java virtual machine (VM) runtime systems. Licensing for Buck1 is under Apache License 2.0, while Buck2 is under either MIT or Apache 2.0.

<span class="mw-page-title-main">Meson (software)</span> Build automation tool

Meson is a software build automation tool for building a codebase. Meson adopts a convention over configuration approach to minimize the data required to configure the most common operations. Meson is free and open-source software under the Apache License 2.0.

References

  1. "Setting Up CMake - Qt Creator Manual". doc.qt.io.
  2. 1 2 "GNOME Builder Development Environment Picking Up Many Features For GNOME 3.28 - Phoronix". www.phoronix.com.
  3. https://confluence.atlassian.com/bitbucket/build-test-and-deploy-with-pipelines-792496469.html Cross-platform