vcpkg-configuration.json Referência
O vcpkg-configuration.json
arquivo faz parte do manifesto de um projeto, juntamente com vcpkg.json
o . Todos os campos no vcpkg-configuration.json
arquivo são usados apenas a partir do projeto de nível superior -- os vcpkg-configuration.json
arquivos em quaisquer dependências são ignorados.
No Modo de Manifesto, vcpkg-configuration.json
pode estar em um arquivo separado ao lado vcpkg.json
ou pode ser incorporado no "vcpkg-configuration" field
.
No Modo Clássico, vcpkg usará o vcpkg-configuration.json
arquivo na raiz da instância vcpkg.
Para obter uma visão geral do uso de registros com vcpkg, consulte Usando registros.
O esquema JSON mais recente está disponível em https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json. IDEs com suporte a esquema JSON, como Visual Studio e Visual Studio Code, podem usar esse arquivo para fornecer preenchimento automático e verificação de sintaxe. Para a maioria dos IDEs, você deve definir "$schema"
em seu vcpkg-configuration.json
para esta URL.
Exemplo
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json",
"default-registry": {
"kind": "git",
"repository": "https://internal/mirror/of/github.com/Microsoft/vcpkg",
"baseline": "eefee7408133f3a0fef711ef9c6a3677b7e06fd7"
},
"registries": [
{
"kind": "git",
"repository": "https://github.com/northwindtraders/vcpkg-registry",
"baseline": "dacf4de488094a384ca2c202b923ccc097956e0c",
"packages": [ "beicode", "beison" ]
}
],
"overlay-ports": [
"./team-ports",
"./custom-ports"
],
"overlay-triplets": [ "./my-triplets" ]
}
Este exemplo adiciona um registro privado, https://github.com/northwindtraders/vcpkg-registry
, como a origem das bibliotecas beicode
e beison
. Todas as outras portas são encontradas a partir de um espelho interno do Catálogo Curado hospedado em https://internal/mirror/of/github.com/Microsoft/vcpkg
.
O exemplo também configura sobreposições personalizadas para portas e trigêmeos presentes no repositório de código-fonte.
Campos de nível superior
Nome | Tipo | Descrição |
---|---|---|
registro padrão | Registro ou nulo | Registro usado para todas as portas sem um registro específico |
portas de sobreposição | string[] | Lista de caminhos a serem usados como sobreposições de porta |
sobreposição-trigêmeos | string[] | Lista de caminhos a serem usados como sobreposições de trigêmeos |
Registros | Registro[] | Registros adicionais a serem usados para subconjuntos de portas |
"default-registry"
O registro a ser usado para todas as portas sem um registro mais específico. Um registro ou null. Opcional.
As portas que não correspondem a nenhum "packages"
padrão são resolvidas para o registro padrão. Se o registro padrão for especificado como null
, as portas que não corresponderem não serão resolvidas. Se o registro padrão for omitido, ele será implicitamente definido como um registro interno usando o valor de "builtin-baseline"
como o "baseline"
.
"registries"
Registros adicionais a serem usados para portas específicas. Uma série de Registros. Opcional.
"overlay-ports"
Uma lista de caminhos de sobreposição de porta. Uma matriz de cadeias de caracteres. Opcional.
Cada caminho na matriz deve apontar para:
- Um diretório de porta contendo
vcpkg.json
eportfile.cmake
- Um diretório contendo diretórios de porta com o nome das portas (
zlib
'svcpkg.json
deve estar emzlib/vcpkg.json
).
Os caminhos relativos são resolvidos em relação ao vcpkg-configuration.json
arquivo. Caminhos absolutos podem ser usados, mas são desencorajados.
"overlay-triplets"
Uma lista de caminhos de sobreposição de trigêmeos. Uma matriz de cadeias de caracteres. Opcional.
Cada caminho na matriz deve apontar para um diretório de arquivos tripletes (consulte a documentação de trigêmeos). Os caminhos relativos são resolvidos em relação ao vcpkg-configuration.json
arquivo. Caminhos absolutos podem ser usados, mas são desencorajados.
Campos do Registro
Nome | Obrigatória | Type | Descrição |
---|---|---|---|
referência | Yes | string | Restrição de versão mínima em todas as portas deste registro |
kind | Yes | string | Tipo de registro que está sendo usado |
pacotes | Sim, se não for padrão | string | Lista de portas a partir deste registro |
caminho | Registro do sistema de arquivos | string | Caminho para o registro do sistema de arquivos |
referência | Não | string | Referência do Git a ser usada para versões disponíveis |
repositório | Registro Git | string | URI do registro Git |
Cadastro: "kind"
O tipo de registro que está sendo usado. Uma cadeia de caracteres. Obrigatória.
"kind" Valor |
Tipo de Registro |
---|---|
"filesystem" |
Registro do sistema de arquivos |
"git" |
Registro Git |
"builtin" |
Registro interno |
Cadastro: "baseline"
O identificador específico do Registro para as versões mínimas a serem usadas a partir deste Registro. Uma cadeia de caracteres. Obrigatória.
Para o Git Registries e para o Builtin Registry, ele deve ser um git commit sha de 40 caracteres no repositório do registro que contém um versions/baseline.json
arquivo .
Para registros do sistema de arquivos, pode ser qualquer cadeia de caracteres de linha de base válida que o registro define.
Cadastro: "reference"
A referência do Git usada para listar as versões disponíveis de um Registro do Git. Uma cadeia de caracteres. Opcional.
Se não for especificado, o HEAD
padrão será . Esse campo pode ser uma ramificação de tópico para acessar versões que ainda não foram totalmente publicadas.
Cadastro: "repository"
O URI do Registro Git. Uma cadeia de caracteres. Necessário para registros Git.
A cadeia de caracteres pode ser qualquer formato de URI que o Git entenda:
"https://github.com/microsoft/vcpkg"
"git@github.com:microsoft/vcpkg"
"/dev/vcpkg-registry"
Os caminhos relativos têm comportamento não especificado que será alterado em versões futuras do vcpkg.
Cadastro: "path"
O caminho para o Registro do sistema de arquivos. Uma cadeia de caracteres. Necessário para registros do sistema de arquivos.
Os caminhos relativos são resolvidos em relação ao vcpkg-configuration.json
.
Cadastro: "packages"
A lista de padrões de porta atribuídos a este registro. Uma matriz de cadeias de caracteres. Obrigatório para todos os registros fora do "default-registry"
.
Cada inscrição deve ser:
- O nome de um pacote
- Um prefixo de nome de pacote, seguido de
*
(Adicionado na versão da ferramenta 2022-12-14)
Os padrões de pacote podem conter apenas letras minúsculas, dígitos e -
, com um opcional *
à direita.
Exemplos de padrões válidos:
*
: corresponde a todos os nomes de portaboost
: Corresponde apenas à portaboost
b*
: Corresponde às portas que começam com a letrab
boost-*
: Corresponde às portas que começam com o prefixoboost-
Exemplos de padrões inválidos:
*a
*
( deve ser o último caractere no prefixo)a**
(apenas um*
é permitido)a+
+
( não é um caractere padrão válido)a?
?
( não é um caractere padrão válido)
Consulte a documentação Usando registros para obter mais informações sobre como os nomes de porta são resolvidos.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de