zc.buildout | |
---|---|
Тип | средство автоматизации сборки |
Разработчик | Jim Fulton и соавторы |
Написана на | Python |
Операционная система | Кроссплатформенное ПО |
Последняя версия | 2.5.0 (11 ноября 2015 года [1]) |
Лицензия | Zope Public License |
Сайт | buildout.org |
Buildout — средство автоматизации сборки для программного обеспечения с открытым исходным кодом, написанное на Python. Позволяет создавать, собирать и вводить в действие приложения из нескольких частей. Buildout помогает конфигурировать и в точности воспроизводить сборку программного обеспечения заданной конфигурации[2].
Buildout используют такие проекты как Django[3], Zope, Plone, Silva, Pylons и др.[2]
Термин «buildout» применяется также в отношении каталога, в котором развёрнута конфигурация некоторого приложения и содержится файл buildout.cfg
, а сам скрипт buildout обычно находится в bin/buildout
.
Основные возможности Buildout следующие:
Структура файла конфигурации может быть схематически представлена следующим образом[6]:
[buildout]
parts =
part1
part2
develop =
src/my.package1
src/my.package2
find-links =
http://dist.plone.org/thirdparty
[part1]
recipe = recipe.name1
# ... другие данные
[part2]
recipe = recipe.name2
# ... другие данные
Встретив такой файл конфигурации, buildout будет по очереди рассматривать части, находить указанные в них рецепты, загружая по необходимости указанные в них пакеты с рецептами, запускать рецепты в соответствии с их точками входа (конфигурируются в setup.py
пакета). Поиск ссылок на пакеты может быть расширен за счёт добавления списка URL в find-links
. Опция develop
даёт пути к пакетам, которые должны быть добавлены к набору библиотек в виде egg-файлов. Обычно это пакеты, находящиеся в разработке[6].
Опция extends
указывает на другой файл конфигурации, который берётся за основу. Тем самым можно разбить конфигурационные файлы buildout на несколько частей. При этом опции можно изменять, присваивая (=), добавляя (+=) или убирая некоторые значения[7]:
[buildout] extends = mybase.cfg [part-one] key0 = rec0 key1 += rec1 rec2 key2 -= rec3
Файл mybase.cfg
для этого примера может выглядеть так:
[part-one] key0 = rec0 rec00 key1 = rec0 key2 = rec1 rec2 rec3
Результат:
[part-one] key0 = rec0 key1 = rec0 rec1 rec2 key2 = rec1 rec2
Имеются и другие возможности, например, подстановка опций из других частей, клонирование части.
Пример простого файла конфигурации buildout.cfg
для Plone[8]:
[buildout]
parts = instance
extends = http://dist.plone.org/release/4.1/versions.cfg
[instance]
recipe = plone.recipe.zope2instance
eggs =
Plone
Pillow
Режимы работы для скрипта buildout могут быть заданы параметрами командной строки:
-v | Увеличить детализацию сообщений. Может быть использован несколько раз. |
-q | Уменьшить детализацию сообщений. Может быть использован несколько раз. |
-U | Не читать файл настроек buildout конкретного пользователя. |
-o | Режим офлайн. Запрещает устанавливать соединения с другими хостами для доступа к частям, пакетам и т. п. |
-O | Режим онлайн (действует по умолчанию). |
-n | Проверять доступность свежих версий пакетов (действует по умолчанию). |
-N | Не проверять обновления пакетов. |
-c | Альтернативный файл конфигурации (по умолчанию: buildout.cfg) |
Из командной строки также можно задавать команды (например, buildout install) и значения ключей в формате часть:опция=значение
[7].
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .