Category
page 1Compiling tools
make
standard UNIX utility and programming language for build automation
Apache Ant
software tool for automating software build processes
Apache Maven
build automation tool used primarily for Java projects
yacc
Yacc (Yet Another Compiler-Compiler) is a computer program for the Unix operating system developed by Stephen C. Johnson. It is a lookahead left-to-right rightmost derivation (LALR) parser generator, generating a LALR parser (the part of a compiler that tries to make syntactic sense of the source code) based on a formal grammar, written in a notation similar to Backus–Naur form (BNF). Yacc is supplied as a standard utility on BSD and AT&T Unix. GNU-based Linux distributions include Bison, a forward-compatible Yacc replacement.
Gradle
Gradle Build Tool ("Gradle") is a build automation tool for multi-language software development produced by Gradle Technologies. It manages tasks like compilation, packaging, testing, deployment, and publishing. Supported languages include Java (as well as JDK-based languages Kotlin, Groovy, Scala), C/C++, and JavaScript.
Gradle builds on the concepts of Apache Ant and Apache Maven, and introduces a Groovy- and Kotlin-based domain-specific language contrasted with the XML-based project configuration used by Maven. Gradle uses a directed acyclic graph to provide dependency management. The graph
Jenkins
continuous integration tool
CMake
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.
GNU bison
general-purpose parser generator
lex
standard UNIX utility
GNU build system
build tool suite
Automake
GNU Automake is a software development tool to automate parts of the compilation process. It eases common compilation problems. For example, it points to needed dependencies.
Meson
build automation system
flex
free software alternative to lex
SCons
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.
Hudson
continuous integration tool
Apache Continuum
continuous integration server for building Java-based projects
MSBuild
Microsoft Build Engine, or MSBuild, is a set of free and open-source build tools for managed code under the Common Language Infrastructure as well as native C and C++ code. It was first released in 2003 and was a part of .NET Framework. MSBuild is included with Visual Studio, but can also be run independently through MSBuild's command-line interface.
GNU Libtool
generic library support script
reproducible builds
process of compiling software which ensures the resulting binary code can be reproduced
sbt
open-source build software for Scala and Java projects
configure script
the output of Autotools
qmake
qmake is a software build automation tool that generates makefiles for building a codebase. As it generates configuration files for other build tools, it is classified as a meta-build tool.
distcc
thumb|Distcc
In software development, distcc is a tool for speeding up compilation of source code by using distributed computing over a computer network. With the right configuration, distcc can dramatically reduce a project's compilation time.
ccache
Ccache is a software development tool that caches compilations so that the next time, the same compilation can be avoided and the results can be taken from the cache. This can greatly speed up recompilation time. The detection is done by hashing different kinds of information that should be unique for the compilation and then using the hash sum to identify the cached output. Ccache is licensed under the GNU General Public License.
Waf
software build automation tool
TeamCity
TeamCity is a build management and continuous integration/continuous delivery (CI/CD) server developed by JetBrains. First released on October 2, 2006, TeamCity is designed to help development teams automate the build, test, and deployment processes for software projects across multiple platforms and technologies.
TeamCity operates under a freemium licensing model, offering a free tier with up to 100 build configurations and three Build Agent licenses, while open-source projects can request completely free licenses. Enterprise features require paid licensing.
== Overview ==
TeamCity serves as
CircleCI
CircleCI is a continuous integration (CI) and continuous delivery (CD) platform that can be used to implement DevOps practices. The company was founded in September 2011 and has raised $315 million in venture capital funding as of 2021, at a valuation of $1.7 billion. CircleCI is one of the world's most popular CI/CD platforms.
Facebook, Coinbase, Sony, Kickstarter, GoPro, and Spotify used CircleCI in 2019.
Bazel
software tool that automates software builds and tests
TMG
compiler-compiler
premake
Premake is a software development tool for generating build configuration files for platform specific build tools based on configuration files that are platform agnostic. The tool is open-source.
CruiseControl
In software development, CruiseControl is a Java-based framework for a continuous build process. It includes, but is not limited to, plugins for email notification, Ant, and various source control tools. A web interface is provided to view the details of the current and previous builds. It allows one to perform a continuous integration of any software development process.
NAnt
NAnt is a free and open source software tool for automating software build processes. It is similar to Apache Ant, but targeted at the .NET environment rather than Java. The name NAnt comes from the fact that the tool is Not Ant.