A continuación se enumeran las herramientas de automatización de compilación más destacadas .
Secuenciación
Hacer
Herramientas similares al make original de Unix : una de las primeras herramientas de automatización de compilación:
Otro
- Apache Ant , popular para el desarrollo de la plataforma Java y utiliza un formato de archivo XML
- Apache Maven , una herramienta de la plataforma Java para la gestión de dependencias y la creación automatizada de software
- Sistema de compilación ASDF LISP para la creación de proyectos LISP
- AAP , una herramienta de compilación basada en Python
- Bazel , una parte de Blaze ( la herramienta de compilación de Google ) escrita en Java, que utiliza Starlark (sintaxis de archivo BUILD) para compilar proyectos en Java, C, C++, Go, Python, Objective-C y otros.
- BitBake , una herramienta basada en Python con un enfoque especial en distribuciones y paquetes para la compilación cruzada de Linux integrado
- Boot , una herramienta de gestión de dependencias y compilación de Java escrita en Clojure
- boost.build Para proyectos C++, multiplataforma, basado en Perforce Jam
- Buck , un sistema de compilación desarrollado y utilizado por Facebook, escrito en Rust, utilizando Starlark (sintaxis de archivo BUILD) como Bazel
- Buildout , un sistema de compilación basado en Python para crear, ensamblar e implementar aplicaciones a partir de múltiples partes
- Cabal , una arquitectura común para crear aplicaciones y bibliotecas en el lenguaje Haskell
- Dub , el administrador oficial de paquetes y compilaciones del lenguaje D
- Flowtracer , una herramienta de gestión de compilaciones
- Gradle , un sistema de automatización y compilación de código abierto con un lenguaje específico de dominio (DSL) basado en Apache Groovy , que combina características de Apache Ant y Apache Maven con más características como una compilación incremental confiable.
- Grunt , una herramienta de desarrollo para el front-end de páginas web
- Gulp , una herramienta de desarrollo para el front-end de páginas web
- IncrediBuild , un paquete de software de computación en red para compilar y crear software
- Leiningen , una herramienta que proporciona tareas comúnmente realizadas en proyectos de Clojure, incluida la automatización de la compilación
- Mix , la herramienta de construcción de Elixir
- MSBuild , el motor de compilación de Microsoft
- NAnt , una herramienta similar a Ant para .NET Framework
- Ninja , un pequeño sistema de compilación centrado en la velocidad mediante el uso de scripts de compilación generados por sistemas de compilación de nivel superior
- Perforce Jam , una herramienta de compilación de Perforce , inspirada en Make
- Sistema de compilación Qt
- Rake , una herramienta de compilación basada en Ruby
- sbt , una herramienta de compilación creada en un DSL basado en Scala
- SCons , basado en Python, con funcionalidad integrada similar a autoconf / automake
- Stack , una herramienta para construir proyectos Haskell , administrar sus dependencias (compiladores y bibliotecas) y para realizar pruebas y evaluaciones comparativas.
- Visual Build , un software de interfaz gráfica de usuario para compilaciones de software
- Waf , una herramienta basada en Python para configurar, compilar e instalar aplicaciones. Es un sustituto de otras herramientas como Autotools , Scons , CMake o Ant
Generación de scripts de compilación
Estas herramientas generadoras no compilan directamente, sino que generan archivos para ser utilizados por una herramienta de compilación nativa (como las enumeradas en las dos secciones anteriores).
- CMake genera archivos para varias herramientas de compilación, como make , ninja , Xcode de Apple y Microsoft Visual Studio . [2] CMake también es utilizado directamente por algunos IDE como Qt Creator , [3] KDevelop y GNOME Builder . [4]
- GNU Build System (también conocido como autotools), una colección de herramientas para compilaciones portables. Entre ellas se incluyen en particular Autoconf y Automake , herramientas multiplataforma Unix que juntas generan archivos make localizados apropiados.
- GYP (Generate Your Projects): creado para Chromium ; es otra herramienta que genera archivos para el entorno de compilación nativo. Ha sido reemplazado por GN, que genera archivos para Ninja y otros sistemas de compilación.
- imake
- Meson , un sistema de compilación optimizado para el rendimiento y la facilidad de uso, se basa en Ninja en Linux, Visual Studio en Windows y Xcode en macOS. Meson también es utilizado directamente por GNOME Builder . [4]
- Maestro del software OpenMake
- Premake , una herramienta basada en Lua para crear archivos make, archivos de Visual Studio, proyectos Xcode y más
- hacer
Integración continua
- AnthillPro , automatización de compilaciones con soporte de canalización para automatización de implementaciones y pruebas. Multiplataforma, multilenguaje
- Apache Continuum - descontinuado
- Bamboo , software de integración continua
- Pipelines e implementaciones de Bitbucket , integración continua para repositorios alojados en Bitbucket [5]
- Buildbot , una herramienta de integración continua de desarrollo de software basada en Python que automatiza el ciclo de compilación/prueba
- CruiseControl , para Java y .NET
- Go entrega continua , código abierto, multiplataforma
- GitLab ( GitLab Runner ), integración continua y servidor git
- GitHub ( GitHub Actions ), servicio gratuito de integración continua para proyectos de código abierto y servidor Git
- Hudson , un motor de integración continua extensible
- Jenkins , un motor de integración continua extensible, derivado de Hudson
- Spinnaker , servicio de entrega continua multicloud de código abierto de Netflix y Google
- Ciudad del equipo
- Travis CI , un servicio de integración continua alojado
Gestión de configuración
Gestores de paquetes
Un administrador de paquetes es una herramienta de metacompilación capaz de construir muchos proyectos diferentes utilizando un subconjunto de herramientas de compilación existentes, generalmente utilizando una lista o repositorio de scripts de compilación llamados "paquetes".
Otros
- checkinstall , checkinstall es un programa que supervisa un procedimiento de instalación y crea un paquete estándar para su distribución.
- Open Build Service , un servicio alojado para ayudar a crear paquetes para varias distribuciones de Linux
Descripción general de la licencia
Referencias
- ^ Discusión en la lista de correo sobre la portabilidad de scripts de PVCS-make a GNU-make, De: Paul D. Smith, Asunto: Re: PVCS a GNU, Fecha: 2003-02-25
- ^ "cmake-generators(7) — Documentación de CMake 3.11.1". cmake.org .
- ^ "Configuración de CMake - Manual de Qt Creator". doc.qt.io .
- ^ ab "El entorno de desarrollo GNOME Builder incorpora muchas características para GNOME 3.28 - Phoronix". www.phoronix.com .
- ^ https://confluence.atlassian.com/bitbucket/build-test-and-deploy-with-pipelines-792496469.html Multiplataforma