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 no projeto de nível superior - os vcpkg-configuration.json
arquivos em qualquer dependência são ignorados.
No modo de manifesto, vcpkg-configuration.json
pode estar em um arquivo separado ao lado vcpkg.json
ou pode ser incorporado ao "vcpkg-configuration" field
.
No Modo Clássico, o vcpkg usará o vcpkg-configuration.json
arquivo na raiz da instância do 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. Os IDEs com suporte ao 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"
vcpkg-configuration.json
seu para este 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/microsoft/vcpkg-docs",
"reference": "vcpkg-registry",
"baseline": "768f6a3ad9f9b6c4c2ff390137690cf26e3c3453",
"packages": [ "beicode", "beison" ]
}
],
"overlay-ports": [
"./team-ports",
"./custom-ports"
],
"overlay-triplets": [ "./my-triplets" ]
}
Este exemplo adiciona um registro privado, https://github.com/microsoft/vcpkg-docs/tree/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 no https://internal/mirror/of/github.com/Microsoft/vcpkg
.
O exemplo também configura sobreposições personalizadas para portas e trigêmeos que estão 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 locais de porta de sobreposição |
trigêmeos de sobreposição | string[] | Lista de caminhos a serem usados como trigêmeos de sobreposição |
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 nulo. 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 matriz 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 nomear:
- Um diretório que contém uma porta, com
vcpkg.json
eportfile.cmake
arquivos, ou - Um diretório contendo diretórios 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 tripletos (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 | Git e registros internos | string | Restrição mínima de versão em todas as portas deste registro |
kind | Sim | string | Tipo de registro que está sendo usado |
pacotes | Sim, se não for padrão | string | Lista de portas que virão 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 |
Registro: "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 integrado |
Registro: "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 Registros Git e para o Registro Integrado, este é 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 nome de propriedade json válido que o registro defina em seu baseline.json
. Se um registro do sistema de arquivos não declarar uma linha de base, o valor usado será "default"
.
Registro: "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 padrão é HEAD
. Esse campo pode ser uma ramificação de tópico para acessar versões que ainda não foram totalmente publicadas.
Registro: "repository"
O URI do Registro Git. Uma cadeia de caracteres. Necessário para registros Git.
A string 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 um comportamento não especificado que será alterado em versões futuras do vcpkg.
Registro: "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
.
Registro: "packages"
A lista de padrões de porta atribuídos a esse registro. Uma matriz de cadeias de caracteres. Obrigatório para todos os registros fora "default-registry"
do .
Cada entrada deve ser:
- O nome de um pacote
- Um prefixo de nome de pacote, seguido por
*
(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 *
.
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 de padrão válido)a?
?
( não é um caractere de padrão válido)
Consulte a documentação Usando Registros para obter mais informações sobre como os nomes de porta são resolvidos.