Список программного обеспечения для автоматизации сборки
редактировать
Статья списка Викимедиа
Автоматизация сборки включает создание сценариев или автоматизацию процесса компиляция компьютера исходного кода в двоичный код. Ниже приведен список известных инструментов, связанных с автоматизацией процессов сборки.
Содержание
- 1 На основе Make
- 2 Несовместимо с Make
- 3 Создание сценария сборки
- 4 Непрерывная интеграция
- 5 Управление конфигурацией
- 6 Мета-сборка
- 7 Другое
- 8 Обзор лицензирования
- 9 Ссылки
- 10 Внешние ссылки
На основе Make
- GNU make, широко используемая реализация make с большим набором расширений
- make, классический инструмент сборки Unix
- mk, первоначально разработанный для версии 10 Unix и Plan 9 и перенесенный на Unix как часть plan9port
- MPW Make, разработан для классической Mac OS и аналогичен, но несовместим с Unix make; современная macOS (OS X) поставляется с программами GNU make и BSD; доступный как часть Macintosh Programmer's Workshop в виде бесплатной неподдерживаемой загрузки с Apple
- nmake
- PVCS -make, в основном следует концепции make, но с заметным набором уникальных синтаксических функций
Make-несовместимый
- 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 с особым упором на distr сценарии и пакеты для кросс-компиляции встроенного Linux
- Boot, инструмент сборки Java и управления зависимостями, написанный на Clojure
- boost.build Для проектов C ++ перекрестный -платформа, основанная на Perforce Jam
- Buck, системе сборки, разработанной и используемой Facebook, написанной на Java, с использованием Starlark (синтаксис файла BUILD) как Bazel
- Buildout, система сборки на основе Python для создания, сборки и развертывания приложений из нескольких частей
- Cabal, общая архитектура для создания приложений и библиотек на языке программирования Haskell
- FinalBuilder, для Разработчики программного обеспечения Windows. FinalBuilder предоставляет графическую среду IDE для создания и запуска проектов сборки в одном приложении. Окончательный конструктор также включает в себя возможность выполнять модульный тест, развертывать веб-проекты или устанавливать и тестировать приложения.
- Flowtracer
- Gradle, система сборки и автоматизации с открытым исходным кодом с Apache Groovy на основе предметно-ориентированного языка (DSL), сочетающего функции Apache Ant и Apache Maven с дополнительными функциями, такими как надежная инкрементальная сборка
- Grunt, инструмент сборки для интерфейсной веб-разработки
- Gulp, еще один инструмент сборки для интерфейсной части
- IncrediBuild
- Leiningen, инструмент, обеспечивающий часто выполняемые задачи в проектах Clojure, включая автоматизация сборки
- , инструмент сборки на основе Scala, вдохновленный Bazel
- Mix, инструментом сборки Elixir
- MSBuild, механизм сборки Microsoft
- NAnt, инструмент, похожий на Ant для .NET Framework
- Ninja, небольшой системы сборки, ориентированной на скорость за счет использования сценариев сборки генерируется системами сборки более высокого уровня
- Perforce Jam, инструмент сборки от Perforce, вдохновленный Make
- Psake, предметно-зависимым языком и инструментом автоматизации сборки, написанным на PowerShell
- Qt Build System
- Rake, инструмент сборки на основе Ruby
- sbt, инструмент сборки, созданный на основе Scala DSL
- SCons, на основе Python, со встроенным функциональность аналогична autoconf / automake
- Stack, инструменту для сборки проектов Haskell, управления их зависимостями (компиляторы и библиотеки), а также для тестирования и тестирования.
- Tup, быстрая файловая система сборки
- , позволяющая писать определения задач на любых языках (или смешанных языках), обеспечивая при этом единообразный интерфейс для них всех
- Визуальный Сборка, программное обеспечение с графическим пользовательским интерфейсом для сборки программного обеспечения
- Waf, инструмент на основе Python для настройки, компиляции и установки приложений. Это замена для других инструментов, таких как Autotools, Scons, CMake или Ant
- xmake, утилита кросс-платформенной сборки на основе Lua
Создание сценария сборки
Эти инструменты-генераторы не создают напрямую, а скорее создают файлы, которые будут использоваться встроенным инструментом сборки (как те, что перечислены в предыдущих двух разделах).
- BuildAMation, многоплатформенный инструмент, использующий декларативный синтаксис в сценариях C #, который создает код C / C ++ в терминале с использованием нескольких потоков или создает файлы проекта для Microsoft Visual Studio, Xcode или MakeFiles.
- CMake создает файлы для различных инструментов сборки, таких как make, ninja, Apple Xcode и Microsoft Visual Studio. CMake также напрямую используется некоторыми IDE как Qt Creator, KDevelop и GNOME Builder.
- GNU Build System (также известный как autotools), набор инструментов для переносимых сборок. К ним, в частности, относятся Autoconf и Automake, кросс-платформенные инструменты unix, которые вместе генерируют соответствующие локализованные make-файлы.
- GYP (Generate Your Projects) - Создано для Хром ; это еще один инструмент, который генерирует файлы для собственной среды сборки
- imake
- Meson, система сборки, оптимизированная для производительности и удобства использования, основана на ninja в Linux, Visual Studio в Windows и Xcode в macOS. Meson также напрямую используется GNOME Builder.
- OpenMake Software Meister
- Premake, инструментом на основе Lua для создания make-файлов, файлов Visual Studio, проектов Xcode и т. Д.
- qmake
- xmake
Непрерывная интеграция
- AnthillPro, автоматизация сборки с поддержкой конвейера для автоматизации развертывания и тестирования. Кросс-платформенный, кросс-языковой
- Apache Continuum - больше не поддерживается
- Azure DevOps (ранее TFS и VSTS), может быть с хостингом в Azure службами или собственный сервер возможности сборки
- Bamboo, программное обеспечение непрерывной интеграции
- Bitbucket конвейеры и развертывания, непрерывная интеграция для Bitbucket размещенных репозиториев
- Buildbot, инструмент непрерывной интеграции разработки программного обеспечения на базе Python, который автоматизирует цикл компиляции / тестирования
- Buildkite, платформа для запуска быстрых, безопасных и масштабируемых конвейеров непрерывной интеграции в вашей собственной инфраструктуре.
- CodePipeline, полностью управляемая служба непрерывной доставки, которая помогает автоматизировать конвейеры выпуска для быстрых и надежных обновлений приложений и инфраструктуры.
- CruiseControl, для Java и.NET
- Go непрерывной доставки, открытый исходный код, кроссплатформенность
- GitLab (GitLab Runner ), непрерывная интеграция и git server
- Hudson, расширяемый механизм непрерывной интеграции
- Jenkins, расширяемый механизм непрерывной интеграции, разветвленный от Hudson
- Spinnaker, многооблачный сервис непрерывной доставки с открытым исходным кодом от Netflix и Google
- TeamCity
- Travis CI, размещенная служба непрерывной интеграции
Управление конфигурацией
- Ansible (на основе Python)
- CFEngine
- Chef (Ruby- на основе)
- LCFG
- OpenMake Software Релиз-инженер
- Otter
- Puppet (на основе Ruby)
- Salt (на основе Python)
- Rex (На основе Perl)
Мета-сборка
Инструмент мета-сборки способен создавать множество различных проектов с использованием подмножества существующих инструментов сборки. Так как они обычно предоставляют список пакетов для сборки, их также часто называют менеджерами пакетов.
- Pkgsrc, менеджером пакетов NetBSD и других операционных систем.
- Portage, менеджером пакетов Дистрибутив Gentoo Linux
- Nix, функциональный менеджер пакетов для Linux и macOS, ориентированный на воспроизводимые сборки, используемый для NixOS дистрибутива Linux.
- Guix, функциональный менеджер пакетов на основе Nix, используемый для GuixSD Linux.
- Collective Knowledge, кроссплатформенный менеджер пакетов для восстановления программной среды для исследовательских рабочих процессов
- Homebrew, пакет менеджер для macOS
Прочее
- checkinstall, checkinstall - это программа, которая отслеживает процедуру установки и создает стандартный пакет для вашего дистрибутива.
- Open Build Service, размещенная служба, помогающая создавать пакеты для различных дистрибутивов Linux
Обзор лицензирования
Название инструмента | Язык описания | Лицензии e |
---|
AAP | рецепт | GNU GPL |
---|
Ant | XML | Apache License 2.0 |
---|
AnthillPro | Wraps Make, Ant, Maven, MsBuild, Nant и т. д. для контролируемых сборка, развертывание, тестирование процессов. | Снято с производства |
---|
Bamboo | непрерывная интеграция | Пробная версия |
---|
Bazel | BUILD / Starlark, Python-подобный DSL | Лицензия Apache 2.0 |
---|
BuildAMation | C# для сценарии сборки, XML для зависимостей высокого уровня | Новая лицензия BSD |
---|
Buildr | Ruby | Apache License 2.0 |
---|
Boot | Clojure | Eclipse Public License |
---|
Capistrano | XML | Лицензия MIT |
---|
CMake | использует файл CMakeLists.txt | Новая лицензия BSD |
---|
Collective Knowledge Framework | Python скрипты с JSON API и JSON мета-описание | Новая лицензия BSD |
---|
Continuum | ? | Лицензия Apache 2.0 |
---|
CruiseControl | XML | лицензия BSD в стиле |
---|
FinalBuilder | графическая среда IDE с поддержкой Ant / NAnt, MSBuild, JScript, VBScript, IronPython, PowerShell | Trialware |
---|
Gradle | DSL на основе Groovy; DSL на основе Kotlin | Лицензия Apache 2.0 |
---|
Jenkins | непрерывная интеграция | Лицензия MIT |
---|
Homebrew | Ruby | Упрощенная лицензия BSD |
---|
Leiningen | Clojure | Общественная лицензия Eclipse |
---|
make | использует Makefile | То же, что и связанная ОС |
---|
Maven | Объектная модель проекта | Лицензия Apache 2.0 |
---|
Система сборки Meson | пользовательский DSL | лицензия Apache 2.0 |
---|
| Scala | лицензия MIT |
---|
MPW Make | ? | Freeware |
---|
MSBuild | XML | лицензия MIT |
---|
NAnt | XML | GNU GPL |
---|
nmake | использует Makefile | Freeware |
---|
Open Build Service | использует различные форматы описания пакетов и изображений (spec, dsc, ARCH, kiwi) | GNU GPL |
---|
Perforce Jam | использует Jamfile | Снято с производства |
---|
Rake | Ruby | Лицензия MIT |
---|
sbt (Simple Build Tool) | DSL на основе Scala | Новая лицензия BSD |
---|
SCons | Python | Лицензия MIT |
---|
Team Foundation Server | MSBuild, Windows Presentation Foundation, JSON - интерфейсы REST, программный (может генерировать определения через ough code) | Пробная версия |
---|
| Любая (Ant, bash, batch, C, Erlang, Java, SQL и VBScript по умолчанию, со сторонним интерфейсом для расширений) | GNU GPLv3 |
---|
Visual Build | XML | Пробная версия |
---|
Waf | Python | Новая лицензия BSD |
---|
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-28 06:56:22
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).