vcpkg-configuration.json Referência
O arquivo vcpkg-configuration.json
faz parte do de manifestode um projeto , juntamente com vcpkg.json
. Todos os campos no arquivo vcpkg-configuration.json
são usados apenas a partir do projeto de nível superior -- os arquivos vcpkg-configuration.json
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
.
Em do Modo Clássico, vcpkg usará o arquivo vcpkg-configuration.json
no 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 essa 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 fonte para as bibliotecas beicode
e beison
. Todas as outras portas são encontradas a partir de um espelho interno do Catálogo com curadoria 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
Designação | Tipo | Descrição |
---|---|---|
de 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 |
registos | Registo[] | Registos adicionais a utilizar para subconjuntos de portos |
"default-registry"
O registro a ser usado para todas as portas sem um registro mais específico. A Registry ou null. Opcional.
As portas que não correspondem a nenhum padrão "packages"
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 Builtin Registry usando o valor de "builtin-baseline"
como o "baseline"
.
"registries"
Registos adicionais a utilizar em portos específicos. Uma série de registos . 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 contendo uma porta, com arquivos
vcpkg.json
eportfile.cmake
, ou - Um diretório contendo diretórios nomeados após as portas (
zlib
'svcpkg.json
deve estar emzlib/vcpkg.json
).
Os caminhos relativos são resolvidos em relação ao arquivo vcpkg-configuration.json
. 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 triplete (consulte a documentação de trigêmeos). Os caminhos relativos são resolvidos em relação ao arquivo vcpkg-configuration.json
. Caminhos absolutos podem ser usados, mas são desencorajados.
Campos do Registo
Designação | Necessário | Tipo | Descrição |
---|---|---|---|
linha de base | Registos Git e Builtin | string | Restrição de versão mínima em todas as portas deste registo |
tipo | Sim | string | Tipo de registo que está a ser utilizado |
pacotes | Sim, se não for padrão | string | Lista de portas provenientes deste registo |
caminho | Registro do sistema de arquivos | string | Caminho para o registro do sistema de arquivos |
referência | Não | string | Referência Git a ser usada para versões disponíveis |
repositório | Registro Git | string | URI do registro Git |
Registro: "kind"
O tipo de registo que está a ser utilizado. Uma cadeia de caracteres. Necessário.
Valor "kind" |
Tipo de Registo |
---|---|
"filesystem" |
de registo do sistema de ficheiros |
"git" |
de registo Git |
"builtin" |
Builtin Registry |
Registro: "baseline"
O identificador específico do registo para as versões mínimas a utilizar a partir deste registo. Uma cadeia de caracteres. Necessário.
Para de Registros Git e para o de Registro Interno, este é um sha de confirmação git de 40 caracteres no repositório do Registro que contém um versions/baseline.json
.
Para de registros do sistema de arquivos, pode ser qualquer nome de propriedade json válido que o registro define 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 Git usada para listar versões disponíveis de um Registro Git. Uma cadeia de caracteres. Opcional.
Se não for especificado, o padrão será HEAD
. Este campo pode ser uma ramificação de tópico para acessar versões que ainda não estão totalmente publicadas.
Registro: "repository"
O URI do Git Registry. Uma cadeia de caracteres. Obrigató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 um comportamento não especificado que será alterado em versões futuras do vcpkg.
Registro: "path"
O caminho para o Filesystem Registry. Uma cadeia de caracteres. Necessário para registros de 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 este registo. Uma matriz de cadeias de caracteres. Obrigatório para todos os registos fora "default-registry"
.
Cada entrada 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 *
à direita opcional.
Exemplos de padrões válidos:
-
*
: Corresponde a todos os nomes de porta -
boost
: 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 uma*
é permitida) -
a+
(+
não é um caractere de padrão válido) -
a?
(?
não é um caractere de padrão válido)
Consulte a de documentação Usando registros para obter mais informações sobre como os nomes de porta são resolvidos.