Jump to content

Waf (система сборки)

Разработчик(и) Томас Надь
Стабильная версия
2.0.25 / 1 января 2023 г .; 19 месяцев назад ( 01.01.2023 )
Репозиторий
Написано в Питон [1]
Операционная система MS Windows , POSIX.
Тип Инструменты разработки программного обеспечения
Лицензия Новая лицензия BSD (исходный код), CC-BY-NC-ND (документация)
Веб-сайт ваф .что

Waf — это инструмент автоматизации сборки , предназначенный для помощи в автоматической компиляции и установке компьютерного программного обеспечения . Он написан на Python и поддерживается Томасом Надьем.

Waf Исходный код — это программное обеспечение с открытым исходным кодом , выпущенное на условиях Новой лицензии BSD , хотя его сопроводительная документация находится под лицензией CC-BY-NC-ND , которая запрещает как модификацию, так и коммерческое распространение: это препятствует таким поставщикам, как Debian проект . от включения документации Waf в свои дистрибутивы.

Томас Надь создал инструмент автоматизации сборки под названием BKsys , который был разработан для работы поверх SCons и обеспечивал функциональность более высокого уровня, аналогичную функциональности Autotools . Это было частью усилий по переходу KDE с Autotools на более современную систему сборки на начальных этапах цикла разработки KDE 4 . BKsys/SCons была выбрана сообществом KDE в качестве новой стандартной системы сборки. [2] Когда Томас Надь решил, что фундаментальные проблемы SCons (особенно плохая масштабируемость) слишком сложны и требуют много времени для устранения, он начал полную переработку , которую назвал Waf . Поскольку BKsys был признан тупиковым, KDE решил вместо этого переключиться на CMake ; [3] однако Waf продолжал поддерживаться как отдельный проект и с тех пор стал свидетелем плодотворного развития и принятия другими сообществами. [ нужна ссылка ]

Возможности Ваф:

  • Переносимость в Unix и не-Unix системы
  • Легкий
  • Предлагает полный по Тьюрингу язык программирования (аналог SCons ).
  • Поддержка стандартных целей: настройка, сборка, очистка, дистрибуция, установка и удаление.
  • Параллельные сборки
  • Цветной вывод и отображение индикатора выполнения
  • Скрипты — это модули Python.
  • Внешний интерфейс XML-скрипта и специальный, простой в анализе режим вывода IDE для упрощения взаимодействия с интегрированными средами разработки.
  • Модульная схема конфигурации с настраиваемым командной строки анализом
  • Режим демона для фоновой перекомпиляции
  • Интеллектуальный поиск исходных файлов ( подобно glob() ) для упрощения обслуживания скриптов.
  • Поддержка глобального кэша объектов во избежание ненужных перекомпиляций.
  • Поддержка модульных тестов, запускаемых в программах в конце сборки.

Ваф поддерживает:

Waf написан на Python . Вместо того, чтобы быть установленным в качестве обязательного компонента системного программного обеспечения, как в случае с системами сборки, такими как GNU make , он распространяется как сценарий , включающий встроенный архивный файл , предназначенный для запуска для распаковки исходников Waf в собственном исходном коде проекта. дерево.

Лицензия

[ редактировать ]

Waf Исходный код распространяется на условиях Новой лицензии BSD . Однако намерение Надя состоит в том, чтобы Waf был включен как часть отдельного программного проекта, а не устанавливался как общесистемная система сборки. В связи с этим документация, поставляемая как часть выпуска Waf, находится под лицензией CC-BY-NC-ND , которая запрещает как модификацию, так и коммерческое распространение: это изменение было сделано для того, чтобы помешать проекту Debian включать Waf как общесистемный пакет программного обеспечения. [4] Хотя изначально Debian просто воздерживался от включения документации, прямой запрос Надя вынудил Debian удалить Waf и запретить его использование в качестве системы сборки. [5]

Разработчик Debian Ян Джексон высказал мнение, что использование Waf, распространяемого в системе сборки программного обеспечения в соответствии с условиями Стандартной общественной лицензии GNU ( GNU GPL), будет нарушением условий этой лицензии, поскольку сценарий распаковки создает запутанную копию своего файла . исходный исходный код, а не «предпочтительную форму для модификации», как того требует формулировка GPL о системах сборки. [6]

См. также

[ редактировать ]
  1. ^ «Ваф» . Сводка анализа . Охло . Проверено 19 декабря 2010 г.
  2. ^ Ридделл, Джонатан (11 сентября 2005 г.). «KDE для перехода на систему сборки bksys/SCons» . Новости KDE Dot . Проверено 9 мая 2012 г.
  3. ^ Унрау, Трой (22 февраля 2007 г.). «Путь к KDE 4: CMake, новая система сборки для KDE» . Новости KDE Dot . Проверено 9 мая 2012 г.
  4. ^ Надь, Томас (2 октября 2009 г.), «Среда настройки в пользовательских целях», Пользователи Waf (список рассылки) .
  5. ^ Фалавинья, Лука (27 февраля 2010 г.), «Намерение удалить waf из Debian», Debian devel (список рассылки), Debian .
  6. ^ Джексон, Ян (7 февраля 2012 г.), «Не содержит исходного кода двоичного кода waf», Debian devel (список рассылки), Debian .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ca1b5f878648a3c679bc9a79b0ccf801__1696091160
URL1:https://arc.ask3.ru/arc/aa/ca/01/ca1b5f878648a3c679bc9a79b0ccf801.html
Заголовок, (Title) документа по адресу, URL1:
Waf (build system) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)