Partage via


Tutoriel : Publier des packages dans un registre vcpkg privé à l’aide de Git

Vous pouvez créer votre propre registre privé de packages à consommer via vcpkg à l’aide de Git. Les registres privés sont idéaux si vous souhaitez utiliser des bibliothèques privées ou si vous souhaitez apporter des modifications non publiques aux packages existants. Vous avez un contrôle total sur les versions et le contenu de vos packages, donc il n’y a vraiment aucune limite sur ce que vous pouvez placer dans un registre privé.

Dans ce tutoriel, nous montrons comment :

Configuration requise :

  • vcpkg
  • Git
  • Un terminal

1 - Créer un registre vcpkg à l’aide de Git

Les registres Git de vcpkg sont des référentiels Git avec une disposition spécifique que vcpkg comprend.

Initialiser un registre Git :

mkdir vcpkg-registry
cd vcpkg-registry
git init

2 - Créer la disposition du Registre

Un registre git vcpkg nécessite les éléments suivants :

  • un dossier nommé ports pour contenir les ports du Registre,
  • un dossier nommé versions pour contenir la base de données des versions,
  • un fichier nommé baseline.json dans le versions dossier.

Votre référentiel peut contenir tous les autres fichiers souhaités, par exemple : scripts, fichier LICENSE, README.md fichier, documentation, etc.

1 - Créer les dossiers et versions les ports dossiers :

mkdir ports
mkdir versions

2 - Créez un fichier nommé baseline.json dans le versions dossier avec le contenu suivant :

{
  "default": {}
}

Le fichier valide baseline.json minimal doit inclure le contenu ci-dessus. Lisez la documentation de contrôle de version pour en savoir plus sur le baseline.json fichier et la base de données des versions.

3 - Valider vos modifications dans le référentiel

git add versions/baseline.json
git commit -m "Initial commit"

Si vous disposez d’un dépôt Git distant configuré, vous pouvez éventuellement envoyer (push) vos modifications.

git remote add origin https://example.com/vcpkg-registry.git
git push --set-upstream origin HEAD

3 - Ajouter des ports au Registre

Copiez tous vos ports de package dans le ports dossier du Registre. Chaque port doit avoir son propre répertoire contenant au moins un vcpkg.json fichier et un portfile.cmake fichier. En savoir plus sur la création de ports dans le didacticiel sur l’empaquetage de référentiels GitHub.

git add ports/.
git commit -m "Add registry ports"

4 - Mettre à jour la base de données des versions

Chaque port du Registre doit avoir un fichier de version correspondant. Les fichiers de version sont générés par la vcpkg x-add-version commande. Cette commande met également à jour l’entrée de base pour chaque port dans version/baseline.json.

Pour mettre à jour la base de données des versions pour tous vos ports à la fois, exécutez :

vcpkg --x-builtin-ports-root=./ports --x-builtin-registry-versions-dir=./versions x-add-version --all --verbose

Les --x-builtin-ports-root options de redirection sont --x-builtin-registry-versions-dir les suivantes. Normalement, la commande fonctionne sur le x-add-version registre intégré de vcpkg ; mais en utilisant les options de redirection, il est possible d’utiliser la commande sur les registres Git locaux.

L’option --all permet à vcpkg d’analyser le ports répertoire pour tous les ports disponibles et de les mettre à jour en même temps. Enfin, l’option --verbose rend la commande imprimer chaque opération qu’elle exécute en sortie standard, vous pouvez supprimer la sortie en supprimant cette option.

Toutes x-add-version les modifications de port ont été validées dans le référentiel Git du registre. Lisez la documentation [x-add-version commande] pour en savoir plus.

Lorsque toutes les sorties sont correctes, exécutez :

git add .
git commit -m "Update versions database"

Si vous disposez d’un dépôt Git distant, n’oubliez pas d’envoyer vos modifications :

git push

Étapes suivantes

C’est tout ! Vous avez configuré votre propre registre git privé à utiliser avec vcpkg.

Voici quelques tâches supplémentaires à essayer ensuite :