Jump to content

List of build automation software

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 159.153.138.54 (talk) at 19:11, 18 December 2013 (Non-Make-based tools). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Build automation involves scripting or automating the process of compiling computer source code into binary code. Below is a list of notable tools associated with automating build processes.

Make-based tools

  • distcc
  • GNU make, a widely used make implementation with a large set of extensions
  • make, a classic Unix build tool
  • mk, developed originally for Version 10 Unix and Plan 9, and ported to Unix as part of plan9port
  • MPW Make, developed for Mac OS Classic and similar to but not compatible with Unix make; OS X comes with both GNU make and BSD make; available as part of Macintosh Programmer's Workshop as a free, unsupported download from Apple
  • nmake
  • PVCS-make, basically follows the concept of make but with a noticeable set of unique syntax features[1]
  • qmake
  • Rake, a Ruby-based build tool

Non-Make-based tools

  • Apache Ant, popular for Java platform development and uses an XML file format
  • Apache Buildr, open-source build system, Rake-based, gives full power of scripting in Ruby with integral support for most abilities wanted in a build system
  • Apache Maven, a Java platform tool for project management and automated software build
  • A-A-P, a Python based build tool
  • Build Forge, an IBM developed build and release automation tool
  • Cabal, common architecture for building applications and libraries in the programming language Haskell
  • Flowtracer
  • Gradle, an open-source build and automation system with a Groovy Rake domain specific language (DSL), combining the advantages of Ant and Maven plus providing many innovative features like a reliable incremental build
  • MSBuild, the Microsoft build engine
  • NAnt, a tool similar to Ant for the .NET Framework
  • Perforce Jam, a generally enhanced, ground-up tool which is similar to Make
  • sbt, a build tool built on a Scala-based DSL
  • Psake, domain-specific language and build automation tool written in PowerShell
  • SCons, Python-based, with integrated functionality similar to autoconf/automake
  • Tweaker, allowing task definitions to be written in any languages (or intermixed languages) while providing a consistent interface for them all
  • Visual Build, a graphical user interface software for software builds
  • Waf is 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 tools

  • automake
  • CMake, a cross-platform tool that generates files for the native build environment, such as makefiles for Unix or Workspace files for Visual Studio
  • GNU Build Tools (aka autotools), a collection of tools for portable builds. These in particular include Autoconf and Automake, cross-platform tools that together generate appropriate localized makefiles.
  • Generate Your Projects (GYP) - Created for Chromium; it is another tool that generates files for the native build environment
  • imake
  • Premake, a Lua based tool for making makefiles, Visual Studio files, Xcode projects, and more

Continuous integration tools

  • AnthillPro, build automation with pipeline support for deployment automation and testing. Cross-platform, cross-language
  • Bamboo, continuous integration software
  • Automated BuildStudio, a system for automating and managing software build, test and deploy processes, with build scheduling and continuous integration support
  • Apache Continuum
  • BuildBot, a Python-based software development continuous integration tool which automates the compile/test cycle
  • BuildIT, a free graphical build or task tool for Windows with an emphasis on simplicity and ease of use
  • Buildout, a Python-based build system for creating, assembling and deploying applications from multiple parts
  • CABIE Continuous Automated Build and Integration Environment, open source, written in Perl
  • Cascade, a continuous integration tool that builds and tests software components after each change is committed to the repository. Also provides a "checkpointing" facility by which changes can be built and tested before they are committed
  • CruiseControl, for Java and .NET
  • FinalBuilder, for Windows software developers. FinalBuilder provides a graphical IDE to create and run build projects
  • Hudson, an extensible continuous integration engine
  • Jenkins, an extensible continuous integration engine, forked from Hudson
  • Team Foundation Server, an extensible continuous integration engine from Microsoft

Configuration management tools

Other tools

  • 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

Comparison of build automation software

Tool name Operating system Build language Description language License
A-A-P Unix, Windows, OS X C recipe GNU GPL
Ant cross-platform Java XML Apache 2.0
AnthillPro cross-platform cross-language Wraps Make, Ant, Maven, MsBuild, Nant, etc. for controlled build, deploy, test processes. Proprietary
Automated BuildStudio Windows cross-language graphical IDE with support for Ant/NAnt, MSBuild, JScript, VBScript, DelphiScript Proprietary
Bamboo cross-platform cross-language continuous integration Proprietary
Buildr cross-platform Java Ruby Apache 2.0
Capistrano cross-platform Ruby domain specific language for software builds MIT
CMake cross-platform cross-language uses CMakeLists.txt file New BSD
Continuum cross-platform Java ? Apache 2.0
CruiseControl cross-platform cross-language XML BSD-style license
dmake Linux, Solaris, Windows OpenOffice, Solaris uses Makefile ?
ElectricCommander cross-platform cross-language flexible including gmake, bmake, emake and ant scripts Proprietary
FinalBuilder Windows cross-language graphical IDE with support for Ant/NAnt, MSBuild, JScript, VBScript, IronPython, PowerShell Proprietary
Gradle cross-platform Java-Groovy Groovy based DSL Apache 2.0
Jenkins cross-platform cross-language continuous integration MIT
make cross-platform cross-language uses Makefile Various
Maven cross-platform Java Project Object Model Apache 2.0
MPW Make Mac OS Classic ? ? ?
MSBuild Windows cross-language XML Proprietary freeware
NAnt cross-platform .NET XML GNU GPL
nmake Unix, Linux, Windows/Interix cross-language uses Makefile ?
Open Build Service Unix, Linux, Windows cross-language uses various package and image description formats (spec, dsc, ARCH, kiwi) GNU GPL
Perforce Jam cross-platform cross-language uses Jamfile Proprietary, free licence for open source projects
Rake cross-platform Ruby Ruby MIT
SBuild cross-platform Scala, Java Scala based DSL Apache 2.0
SCons cross-platform cross-language Python MIT
Simple Build Tool cross-platform Scala, Java Scala based DSL BSD
Tweaker (build tool) cross-platform cross-language Any (Ant, bash, batch, C, Erlang, Java, SQL, and VBScript by default, with 3rd party interface for extensions) GPLv3
Visual Build Windows cross-language XML Proprietary
Waf cross-platform cross-language Python New BSD
Tool name Operating system Build language Description language License

References