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