Compartilhar via


Tutorial: Publicar pacotes em um registro vcpkg privado usando o Git

Você pode criar seu próprio registro privado de pacotes para consumir via vcpkg usando o Git. Os registros privados são ideais se você quiser usar bibliotecas privadas ou quiser fazer modificações não públicas em pacotes existentes. Você tem controle total sobre as versões e o conteúdo de seus pacotes, então realmente não há limite para o que você pode colocar em um registro privado.

Neste tutorial mostramos como:

Pré-requisitos:

  • vcpkg
  • Git
  • Um terminal

1 - Crie um registro vcpkg usando o Git

Os registros baseados em Git do vcpkg são repositórios Git com um layout específico que o vcpkg entende.

Inicialize um registro Git:

mkdir vcpkg-registry
cd vcpkg-registry
git init

2 - Criar o layout do registro

Um registro baseado em Git vcpkg requer o seguinte:

  • uma pasta nomeada ports para conter as portas do registro,
  • uma pasta nomeada versions para conter o banco de dados de versões,
  • Um arquivo nomeado baseline.json na versions pasta.

Seu repositório pode conter quaisquer outros arquivos que você desejar, por exemplo: scripts, um arquivo LICENSE, um arquivo, documentação README.md , etc.

1 - Crie as ports pastas e versions elas:

mkdir ports
mkdir versions

2 - Crie um arquivo nomeado baseline.json na versions pasta com o seguinte conteúdo:

{
  "default": {}
}

O arquivo mínimo válido baseline.json deve incluir o conteúdo acima. Leia a documentação de controle de versão para saber mais sobre o arquivo e o baseline.json banco de dados de versões.

3 - Confirme suas alterações no repositório

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

Opcionalmente, se você tiver um repositório Git remoto configurado, esse é um bom ponto para enviar suas alterações.

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

3 - Adicionar portas ao registro

Copie todas as portas do ports pacote na pasta no registro. Cada porta deve ter seu próprio diretório contendo pelo menos um arquivo e um vcpkg.jsonportfile.cmake arquivo. Saiba mais sobre como criar portas no tutorial sobre empacotamento de repositórios do GitHub.

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

4 - Atualizar o banco de dados de versões

Cada porta no registro deve ter um arquivo de versão correspondente. Os arquivos de vcpkg x-add-version versão são gerados pelo comando. Esse comando também atualiza a entrada da linha de base para cada porta no version/baseline.json.

Para atualizar o banco de dados de versões para todas as portas de uma só vez, execute:

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

As --x-builtin-ports-root e --x-builtin-registry-versions-dir são opções de redirecionamento. Normalmente, o comando opera no registro interno do vcpkg, mas usando as opções de redirecionamento, é possível usar o x-add-version comando em registros Git locais.

A --all opção faz com que vcpkg verifique o ports diretório para todas as portas disponíveis e as atualiza todas de uma só vez. Por fim, a opção faz com que o comando imprima cada operação executada na saída padrão, você pode suprimir a --verbose saída removendo essa opção.

O x-add-version requer que todas as alterações de porta tenham sido confirmadas no repositório Git do registro. Leia a documentação do [x-add-version command] para saber mais.

Quando toda a saída parecer correta, execute:

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

Se você tiver um repositório Git remoto, não se esqueça de enviar suas alterações:

git push

Próximas etapas

Pronto! Você configurou seu próprio registro privado baseado em Git para usar com vcpkg.

Aqui estão algumas tarefas adicionais para tentar em seguida: