Список программного обеспечения для автоматизации сборки
Ниже перечислены известные инструменты автоматизации сборки .
Секвенирование [ править ]
Сделать [ править ]
Инструменты, аналогичные исходной версии Unix — один из первых инструментов автоматизации сборки:
- GNU make расширяет исходную версию Unix.
- mk, изначально разработанный для Unix версии 10 и Plan 9 и портированный на Unix как часть plan9port.
- Мастерская программиста Macintosh - пакет разработки программного обеспечения для классической Mac OS
- Microsoft nmake
- PVCS -make на базе Unix Make с дополнительными возможностями. [1]
Другое [ править ]
- Apache Ant , популярный для Java разработки платформы XML. и использующий формат файла
- Apache Buildr, историческая система сборки с открытым исходным кодом, основанная на Rake , предоставляет всю мощь сценариев на Ruby с встроенной поддержкой большинства возможностей, необходимых в системе сборки.
- Apache Maven , инструмент платформы Java для управления зависимостями и автоматизированной сборки программного обеспечения.
- Система сборки ASDF LISP для создания проектов LISP.
- AAP , Python . инструмент сборки на основе
- Bazel — часть Blaze ( собственного инструмента сборки Google ), написанная на Java и использующая Starlark (синтаксис файла BUILD) для сборки проектов на Java, C, C++, Go, Python, Objective-C и других.
- BitBake , инструмент на основе Python, специализирующийся на дистрибутивах и пакетах для кросс-компиляции встроенного Linux.
- Boot — инструмент сборки Java и управления зависимостями, написанный на Clojure.
- boost.build Для проектов C++, кроссплатформенный, на основе Perforce Jam
- Buck — система сборки, разработанная и используемая Facebook, написанная на Java с использованием Starlark (синтаксис файла BUILD) в качестве Bazel.
- Buildout — система сборки на основе Python для создания, сборки и развертывания приложений из нескольких частей.
- Cabal — общая архитектура для создания приложений и библиотек на языке Haskell.
- Dub , официальный менеджер пакетов и сборок D. языка
- дол, [2] инструмент сборки D
- FinalBuilder для разработчиков программного обеспечения Windows. FinalBuilder предоставляет графическую среду разработки для создания и запуска проектов сборки в одном приложении. Окончательный сборщик также включает в себя возможность выполнять модульное тестирование, развертывать веб-проекты или устанавливать и тестировать приложения.
- Flowtracer — инструмент управления сборкой
- Gradle — система сборки и автоматизации с открытым исходным кодом, (DSL) Apache Groovy основанная на доменно-ориентированном языке , сочетающая функции Apache Ant и Apache Maven с дополнительными функциями, такими как надежная инкрементная сборка.
- Grunt , инструмент для веб-разработки внешнего интерфейса.
- Gulp — инструмент для веб-разработки внешнего интерфейса.
- IncrediBuild — пакет программного обеспечения для грид-вычислений, предназначенный для компиляции и создания программного обеспечения.
- Leiningen — инструмент, обеспечивающий часто выполняемые задачи в проектах Clojure, включая автоматизацию сборки.
- Mix , Elixir инструмент сборки
- MSBuild , Microsoft . механизм сборки
- NAnt , инструмент, аналогичный Ant для .NET Framework.
- Ninja — небольшая система сборки, ориентированная на скорость за счет использования сценариев сборки, созданных системами сборки более высокого уровня.
- Perforce Jam — инструмент сборки от Perforce , вдохновленный Make
- Система сборки Qt
- Rake , Ruby . инструмент сборки на основе
- рез, [3] инструмент сборки C/C++
- sbt — инструмент сборки, построенный на основе Scala . DSL на базе
- SCons , на основе Python, со встроенной функциональностью, аналогичной autoconf / automake.
- Stack — инструмент для создания проектов Haskell , управления их зависимостями (компиляторами и библиотеками), а также для тестирования и тестирования.
- крошечный рик, [4] инструмент сборки Rust
- огромный, [5] инструмент для сборки оболочки
- Visual Build — программное обеспечение с графическим пользовательским интерфейсом для сборки программного обеспечения.
- Waf — инструмент на основе Python для настройки, компиляции и установки приложений. Это замена других инструментов, таких как Autotools , Scons , CMake или Ant.
Генерация сценария сборки [ править ]
Эти инструменты- генераторы не производят сборку напрямую, а скорее генерируют файлы для использования собственным инструментом сборки (как те, которые перечислены в двух предыдущих разделах).
- BuildAMation, многоплатформенный инструмент, использующий декларативный синтаксис в сценариях C#, который создает код C/C++ в терминале с использованием нескольких потоков или генерирует файлы проекта для Microsoft Visual Studio, Xcode или MakeFiles.
- CMake генерирует файлы для различных инструментов сборки, таких как make , ninja , Apple Xcode и Microsoft Visual Studio . [6] CMake также напрямую используется некоторыми IDE как Qt Creator , [7] KDevelop и GNOME Builder . [8]
- GNU Build System (также известная как autotools), набор инструментов для переносимых сборок. К ним, в частности, относятся Autoconf и Automake , кросс-Unix-платформенные инструменты, которые вместе генерируют соответствующие локализованные файлы make-файлов.
- GYP (Создавайте свои проекты) — создан для Chromium ; это еще один инструмент, который генерирует файлы для собственной среды сборки. Его заменил GN, который генерирует файлы для ninja и других систем сборки.
- отметьте это
- Meson , система сборки, оптимизированная для производительности и удобства использования, основана на ninja в Linux, Visual Studio в Windows и Xcode в macOS. Meson также напрямую используется GNOME Builder . [8]
- программного обеспечения OpenMake Мастер
- Premake — инструмент на основе Lua для создания make-файлов, файлов Visual Studio, проектов Xcode и многого другого.
- qmake
Непрерывная интеграция [ править ]
- AnthillPro : автоматизация сборки с поддержкой конвейеров для автоматизации развертывания и тестирования. Кроссплатформенность, кроссязычность
- Apache Continuum — прекращено
- Bamboo , программное обеспечение непрерывной интеграции
- Bitbucket Pipelines and Deployments, непрерывная интеграция для Bitbucket. репозиториев, размещенных на [9]
- Buildbot , инструмент непрерывной интеграции разработки программного обеспечения на основе Python, который автоматизирует цикл компиляции/тестирования.
- CruiseControl для Java и .NET
- Непрерывная доставка , открытый исходный код, кроссплатформенность
- GitLab ( GitLab Runner ), непрерывная интеграция и git- сервер
- GitHub ( GitHub Actions ), бесплатный сервис непрерывной интеграции для проектов с открытым исходным кодом и git -сервера.
- Hudson — расширяемый механизм непрерывной интеграции.
- Jenkins — расширяемый механизм непрерывной интеграции, созданный на базе Hudson.
- Spinnaker — мультиоблачная служба непрерывной доставки с открытым исходным кодом от Netflix и Google.
- TeamCity
- Travis CI , размещенная служба непрерывной интеграции
Управление конфигурацией [ править ]
- Ansible (на основе Python)
- CFEngine
- Шеф-повар (на основе Ruby)
- ЖКФГ
- NixOS Декларативная модель конфигурации
- программного обеспечения OpenMake Инженер по выпуску
- Выдра
- Марионетка (на основе Ruby)
- Соль (на основе Python)
- Рекс (на основе Perl)
Менеджеры пакетов [ править ]
Менеджер пакетов — это инструмент мета-сборки, способный создавать множество различных проектов с использованием подмножества существующих инструментов сборки, обычно с использованием списка или репозитория сценариев сборки, называемых «пакетами».
- Pkgsrc , Portage , MacPorts и другие менеджеры пакетов, полученные из коллекции портов BSD .
- Nix , функциональный менеджер пакетов для Linux и macOS, ориентированный на воспроизводимые сборки , используемый для дистрибутива NixOS Linux.
- Guix — функциональный менеджер пакетов на основе Nix, используемый для дистрибутива GuixSD Linux.
- Коллективные знания , кросс-платформенный менеджер пакетов для перестройки программной среды для исследовательских рабочих процессов.
- Homebrew , менеджер пакетов для macOS
Другие [ править ]
- checkinstall , checkinstall — это программа, которая отслеживает процедуру установки и создает стандартный пакет для вашего дистрибутива.
- Open Build Service — размещенная служба, помогающая создавать пакеты для различных дистрибутивов Linux.
Обзор лицензирования [ править ]
Название инструмента | Язык описания | Лицензия |
---|---|---|
ААП | рецепт | GNU GPL |
Муравей | XML | Лицензия Апач 2.0 |
МуравейникПро | Обертки Make, Ant, Maven, MsBuild, Nant и т. д. для контролируемых процессов сборки, развертывания и тестирования. | Снято с производства |
Бамбук | непрерывная интеграция | Пробная версия |
Базель | BUILD/Starlark, Python-подобный DSL | Лицензия Апач 2.0 |
BuildAMation | C# для сценариев сборки, XML для зависимостей высокого уровня. | Новая лицензия BSD |
Строитель | Руби | Лицензия Апач 2.0 |
Ботинок | Кложур | Публичная лицензия Eclipse |
Капистрано | XML | МОЯ лицензия |
CMake | использует файл CMakeLists.txt | Новая лицензия BSD |
Коллективная система знаний | Python Скрипты с JSON API и JSON. метаописанием | Новая лицензия BSD |
Континуум | ? | Лицензия Апач 2.0 |
КруизКонтроль | XML | BSD Лицензия в стиле |
Дублировать | JSON , SDL | МОЯ лицензия |
FinalBuilder | графическая IDE с поддержкой Ant/NAnt, MSBuild, JScript, VBScript, IronPython , PowerShell | Пробная версия |
Градл | DSL на базе Groovy; Kotlin DSL на базе | Лицензия Апач 2.0 |
Дженкинс | непрерывная интеграция | МОЯ лицензия |
Домашнее пиво | Руби | Упрощенная лицензия BSD |
Лейнинген | Кложур | Публичная лицензия Eclipse |
делать | использует Makefile | То же, что и комплектная ОС |
Мавен | Объектная модель проекта | Лицензия Апач 2.0 |
Система сборки мезонов | индивидуальный DSL | Лицензия Апач 2.0 |
MPW Марка | ? | Бесплатное ПО |
MSBuild | XML | МОЯ лицензия |
НАнт | XML | GNU GPL |
нмэйк | использует Makefile | Бесплатное ПО |
Открыть службу сборки | использует различные форматы описания пакетов и изображений (spec, dsc, ARCH, kiwi) | GNU GPL |
Перфорс Часы | использует Jamfile | Снято с производства |
Грабли | Руби | МОЯ лицензия |
sbt (Простой инструмент сборки) | DSL на базе Scala | Новая лицензия BSD |
SCons | Питон | МОЯ лицензия |
Сервер Team Foundation | MSBuild, Windows Presentation Foundation, интерфейсы JSON – REST, программный (может генерировать определения с помощью кода) | Пробная версия |
Визуальная сборка | XML | Пробная версия |
Ваф | Питон | Новая лицензия BSD |
Ссылки [ править ]
- ^ обсуждение в списке рассылки портирования сценариев PVCS-make в GNU-make , От: Пол Д. Смит, Тема: Re: PVCS в GNU, Дата: 25 февраля 2003 г.
- ^ «Дейл: параноидальный бегун по заданиям D» . 12 апреля 2023 г. — через GitHub.
- ^ «rez: средство запуска задач C/C++» . 18 апреля 2023 г. — через GitHub.
- ^ «tinyrick: система сборки Rust произвольной формы» . 12 апреля 2023 г. — через GitHub.
- ^ «vast: инструмент сборки для сценариев оболочки» . 8 апреля 2023 г. — через GitHub.
- ^ «cmake-generators(7) — Документация CMake 3.11.1» . cmake.org .
- ^ «Настройка CMake — Руководство Qt Creator» . doc.qt.io.
- ^ Jump up to: Перейти обратно: а б «Среда разработки GNOME Builder включает множество функций GNOME 3.28 — Phoronix» . www.phoronix.com .
- ^ https://confluence.atlassian.com/bitbucket/build-test-and-deploy-with-pipelines-792496469.html Кросс-платформенный