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
naversions
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.json
portfile.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: