Руководство. Публикация пакетов в частном реестре vcpkg с помощью Git
Статья
Вы можете создать собственный частный реестр пакетов для использования через vcpkg с помощью Git. Частные реестры идеально подходят, если вы хотите использовать частные библиотеки или хотите внести неогласные изменения в существующие пакеты. У вас есть полный контроль над версиями и содержимым пакетов, поэтому на самом деле нет ограничений на то, что можно поместить в частный реестр.
Реестры на основе Git vcpkg — это репозитории Git с определенным макетом, который понимает vcpkg.
Инициализация реестра Git:
Console
mkdir vcpkg-registry
cd vcpkg-registry
git init
2. Создание макета реестра
Для реестра на основе vcpkg Git требуется следующее:
папка с именем ports , содержащая порты реестра,
папка с именем versions , содержащая базу данных версий,
файл с именем baseline.json в папке versions .
Репозиторий может содержать любые другие файлы, например скрипты, файл LICENSE, файл, README.md документацию и т. д.
1. Создание ports папок и versions папок:
Console
mkdir ports
mkdir versions
2. Создайте файл с именем baseline.json в папке versions со следующим содержимым:
JSON
{
"default": {}
}
Минимальный допустимый baseline.json файл должен содержать указанное выше содержимое. Ознакомьтесь с документацией по использованию версий, чтобы узнать больше о baseline.json файле и базе данных версий.
При необходимости, если у вас есть удаленный репозиторий Git, это хорошая точка для отправки изменений.
Console
git remote add origin https://example.com/vcpkg-registry.git
git push --set-upstream origin HEAD
3. Добавление портов в реестр
Скопируйте все порты пакета в папке ports в реестре. Каждый порт должен иметь собственный vcpkg.json каталог, содержащий по крайней мере файл и portfile.cmake файл. Дополнительные сведения о создании портов в руководстве по упаковке репозиториев GitHub.
Каждый порт в реестре должен иметь соответствующий файл версии. Файлы версий создаются командой vcpkg x-add-version . Эта команда также обновляет базовую запись для каждого порта.version/baseline.json
Чтобы обновить базу данных версий для всех портов одновременно, выполните следующую команду:
Параметры --x-builtin-ports-root перенаправления и --x-builtin-registry-versions-dir являются параметрами перенаправления.
Как правило, x-add-version команда работает со встроенным реестром vcpkg, но с помощью параметров перенаправления можно использовать команду в локальных реестрах Git.
Этот --all параметр делает vcpkg сканировать ports каталог для всех доступных портов и обновлять их сразу. Наконец, параметр --verbose делает команду печати каждой операции, выполняемой в стандартные выходные данные, вы можете отключить выходные данные, удалив этот параметр.
Требуется x-add-version , чтобы все изменения портов были зафиксированы в репозитории Git реестра. Дополнительные сведения см. в документации по [x-add-version команде].
Когда все выходные данные выглядят правильно, выполните следующую команду:
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Отзыв о vcpkg
vcpkg — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
Работайте с многократно используемыми модулями Bicep с помощью реестров Bicep. Создайте частный реестр для своей организации. Публикуйте и используйте модули с помощью реестра организации.
В этой статье описаны порты наложения в vcpkg. Порты наложения используются для принудительного использования определенного определения порта vcpkg во время процесса установки пакета.