Lista över programvara för byggautomation

Byggautomatisering innebär skriptning eller automatisering av processen att kompilera datorkällkod till binär kod . Nedan finns en lista över anmärkningsvärda verktyg för att automatisera byggprocesser.

Märkebaserat

  • GNU make , en make- implementering med en stor uppsättning tillägg
  • make , ett Unix-byggverktyg
  • mk , utvecklad ursprungligen för version 10 Unix och Plan 9 , och portad till Unix som en del av plan9port
  • MPW Make , utvecklat för det klassiska Mac OS och liknande men inte kompatibelt med Unix make; det moderna macOS (OS X) kommer med både GNU-fabrikat och BSD-fabrikat; tillgänglig som en del av Macintosh Programmer's Workshop som en gratis, ostödd nedladdning från Apple
  • nmake
  • PVCS -fabrikat, följer konceptet fabrikat men med ytterligare syntaxfunktioner

Make-inkompatibel

  • Apache Ant , populär för utveckling av Java -plattformar och använder ett XML- filformat
  • Apache Buildr , historiskt byggsystem med öppen källkod, Rake -baserat, ger den fulla kraften av skript i Ruby med integrerat stöd för de flesta förmågor som önskas i ett byggsystem
  • Apache Maven , ett Java-plattformsverktyg för beroendehantering och automatiserad mjukvarubygge
  • ASDF LISP byggsystem för att bygga LISP-projekt
  • AAP , ett Python -baserat byggverktyg
  • Bazel , en del av Blaze (Googles eget byggverktyg) skrivet i Java, med Starlark (BUILD-filsyntax) för att bygga projekt i Java, C, C++, Go, Python, Objective-C och andra
  • BitBake , ett Python-baserat verktyg med specialfokus på distributioner och paket för inbäddad Linux-korskompilering
  • Boot , ett Java- bygg- och beroendehanteringsverktyg skrivet i Clojure
  • boost.build För C++-projekt, plattformsoberoende, baserat på Perforce Jam
  • Buck , ett byggsystem utvecklat och använt av Facebook, skrivet i Java, med Starlark (BUILD-filsyntax) som Bazel
  • Buildout , ett Python-baserat byggsystem för att skapa, montera och distribuera applikationer från flera delar
  • Cabal , en vanlig arkitektur för att bygga applikationer och bibliotek i programmeringsspråket Haskell
  • Dub , den officiella paket- och bygghanteraren för D Language
  • FinalBuilder , för Windows-programutvecklare. FinalBuilder tillhandahåller en grafisk IDE för att både skapa och köra byggprojekt i en enda applikation. Den slutliga byggaren inkluderar också möjligheten att utföra enhetstestet, distribuera webbprojekt eller installera och testa applikationer.
  • Flowtracer , ett bygghanteringsverktyg
  • Gradle , ett bygg- och automatiseringssystem med öppen källkod med ett Apache Groovy -baserat domänspecifikt språk (DSL), som kombinerar funktionerna i Apache Ant och Apache Maven med ytterligare funktioner som en pålitlig inkrementell konstruktion
  • Grunt , ett byggverktyg för front-end webbutveckling
  • Gulp , ett byggverktyg för front-end webbutveckling
  • IncrediBuild , en svit med grid computing-programvara för kompilering och konstruktion av programvara
  • Leiningen , ett verktyg som tillhandahåller vanliga uppgifter i Clojure-projekt, inklusive byggautomation
  • Mix , byggverktyget Elixir
  • MSBuild , Microsofts byggmotor
  • NAnt , ett verktyg som liknar Ant för .NET Framework
  • Ninja , ett litet byggsystem fokuserat på hastighet genom att använda byggskript som genereras av byggsystem på högre nivå
  • Perforce Jam , ett byggverktyg från Perforce , inspirerat av Make
  • Psake , domänspecifikt språk och byggautomatiseringsverktyg skrivet i PowerShell
  • Qt Byggsystem
  • Rake , ett Ruby -baserat byggverktyg
  • sbt , ett byggverktyg byggt på en Scala -baserad DSL
  • SCons , Python-baserad, med integrerad funktionalitet som liknar autoconf / automake
  • Stack , ett verktyg för att bygga Haskell- projekt, hantera deras beroenden (kompilatorer och bibliotek) och för testning och benchmarking.
  • Visual Build , ett grafiskt användargränssnittsprogram för mjukvarubyggen
  • Waf , ett Python-baserat verktyg för att konfigurera, kompilera och installera applikationer. Det är en ersättning för andra verktyg som Autotools , Scons , CMake eller Ant

Skapa skriptgenerering

Dessa generatorverktyg bygger inte direkt, utan genererar snarare filer som ska användas av ett inbyggt byggverktyg (som de som listas i de två föregående avsnitten).

Fortsatt integration

Konfigurationshantering

Metabygge

Ett metabyggverktyg kan bygga många olika projekt med hjälp av en delmängd av befintliga byggverktyg. Eftersom dessa vanligtvis tillhandahåller en lista över paket att bygga, kallas de också ofta för pakethanterare .

Andra

  • checkinstall , checkinstall är ett program som övervakar en installationsprocedur och skapar ett standardpaket för din distribution.
  • Open Build Service , en värdtjänst för att hjälpa till att bygga paket för olika Linux-distributioner

Licensöversikt

Verktygets namn Beskrivningsspråk Licens
AAP recept GNU GPL
Myra XML Apache-licens 2.0
AnthillPro Omsluter Make, Ant, Maven, MsBuild, Nant, etc. för kontrollerade bygg-, distributions- och testprocesser. Avvecklad
Bambu fortsatt integration Provprogram
Bazel BUILD/Starlark, en Python-liknande DSL Apache-licens 2.0
BuildAMation C# för byggskript, XML för beroenden på hög nivå Ny BSD-licens
Buildr Rubin Apache-licens 2.0
Känga Clojure Eclipse Public License
Capistrano XML MIT-licens
CMake använder filen CMakeLists.txt Ny BSD-licens
Kollektiv kunskapsram Python -skript med JSON API och JSON meta-beskrivning Ny BSD-licens
Kontinuum ? Apache-licens 2.0
Farthållare XML BSD -licens
Dubba JSON , SDL MIT-licens
FinalBuilder grafisk IDE med stöd för Ant/NAnt, MSBuild, JScript, VBScript, IronPython , PowerShell Provprogram
Gradle Groovy-baserad DSL; Kotlin -baserad DSL Apache-licens 2.0
Jenkins fortsatt integration MIT-licens
Hembryggt Rubin Förenklad BSD-licens
Leiningen Clojure Eclipse Public License
göra använder Makefile Samma som buntande OS
Maven Projektobjektmodell Apache-licens 2.0
Meson byggsystem anpassad DSL Apache-licens 2.0
MPW fabrikat ? Gratisprogram
MSBuild XML MIT-licens
Nant XML GNU GPL
nmake använder Makefile Gratisprogram
Öppna Byggtjänst använder olika paket- och bildbeskrivningsformat (spec, dsc, ARCH, kiwi) GNU GPL
Perforce Jam använder Jamfile Avvecklad
Räfsa Rubin MIT-licens
sbt (enkelt byggverktyg) Scala-baserad DSL Ny BSD-licens
SCons Pytonorm MIT-licens
Team Foundation Server MSBuild, Windows Presentation Foundation, JSON - REST-gränssnitt, Programmatic (Kan generera definitioner genom kod) Provprogram
Visuell byggnad XML Provprogram
Waf Pytonorm Ny BSD-licens