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).
- BuildAMation , ett multiplattformsverktyg som använder en deklarativ syntax i C#-skript, som bygger C/C++-kod i en terminal med hjälp av flera trådar, eller genererar projektfiler för Microsoft Visual Studio, Xcode eller MakeFiles.
- CMake genererar filer för olika byggverktyg, som make , ninja , Apples Xcode och Microsoft Visual Studio . CMake används också direkt av vissa IDE som Qt Creator , KDevelop och GNOME Builder .
- GNU Build System (alias autotools), en samling verktyg för bärbara byggen. Dessa inkluderar i synnerhet Autoconf och Automake , verktyg för flera plattformar som tillsammans genererar lämpliga lokaliserade make-filer.
- GYP (Generera dina projekt) - Skapad för Chromium ; det är ett annat verktyg som genererar filer för den ursprungliga byggmiljön. Den har ersatts av GN som genererar filer för ninja och andra byggsystem.
- jag gör
- Meson , ett byggsystem optimerat för prestanda och användbarhet är baserat på ninja på Linux, Visual Studio på Windows och Xcode på macOS. Meson används också direkt av GNOME Builder .
- OpenMake Software Meister
- Premake , ett Lua-baserat verktyg för att skapa makefiler, Visual Studio-filer, Xcode-projekt och mer
- qgöra
Fortsatt integration
- AnthillPro , byggautomation med pipelinestöd för distributionsautomation och testning. Platsöverskridande, tvärspråkigt
- Apache Continuum - utgår
- Bamboo , mjukvara för kontinuerlig integration
- Bitbucket Pipelines and Deployments, kontinuerlig integration för Bitbucket- värdlagrade
- Buildbot , ett Python-baserat verktyg för kontinuerlig integration av mjukvaruutveckling som automatiserar kompilerings-/testcykeln
- CruiseControl , för Java och .NET
- Gå kontinuerlig leverans , öppen källkod, plattformsoberoende
- GitLab ( GitLab Runner ), kontinuerlig integration och git- server
- GitHub ( GitHub Actions ), gratis kontinuerlig integrationstjänst för projekt med öppen källkod och git- server
- Hudson , en utbyggbar motor med kontinuerlig integration
- Jenkins , en utdragbar motor med kontinuerlig integration, gaffel från Hudson
- Spinnaker , öppen källkod för kontinuerlig leverans av flera moln från Netflix och Google
- TeamCity
- Travis CI , en värdbaserad kontinuerlig integrationstjänst
Konfigurationshantering
- Ansible (Python-baserad)
- CFEngine
- Kock (rubybaserad)
- LCFG
- NixOS Deklarativ konfigurationsmodell
- OpenMake Software Release Engineer
- Utter
- Docka (rubybaserad)
- Salt (Python-baserat)
- Rex (Perl-baserad)
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 .
- Pkgsrc , Portage , MacPorts och andra pakethanterare härledda från BSD Ports Collection .
- Nix , funktionell pakethanterare för Linux och macOS med fokus på reproducerbara versioner , som används för NixOS Linux-distributionen.
- Guix , funktionell pakethanterare baserad på Nix, som används för GuixSD Linux-distributionen.
- Collective Knowledge , pakethanterare över plattformar för att bygga om mjukvarumiljön för forskningsarbetsflöden
- Homebrew , pakethanterare för macOS
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 |
Kategorier: