Referenční informace k vcpkg-configuration.json

Soubor vcpkg-configuration.json tvoří součást manifestu projektu spolu s vcpkg.json. Všechna pole v vcpkg-configuration.json souboru se používají jenom z projektu nejvyšší úrovně – vcpkg-configuration.json soubory v jakýchkoli závislostech se ignorují.

V režimuvcpkg-configuration.json manifestu může být v samostatném souboru vedle vcpkg.json nebo může být vložen do "vcpkg-configuration" fieldsouboru .

V klasickém režimu použije vcpkg-configuration.json vcpkg soubor v kořenovém adresáři instance vcpkg.

Přehled použití registrů s vcpkg najdete v tématu Použití registrů.

Nejnovější schéma JSON je k dispozici na adrese https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json. Integrované vývojové prostředí s podporou schématu JSON, jako je Visual Studio a Visual Studio Code, můžou tento soubor použít k zajištění automatického dokončování a kontroly syntaxe. U většiny prostředí IDE byste měli nastavit "$schema" tuto vcpkg-configuration.json adresu URL.

Příklad

{
  "$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" ]
}

Tento příklad přidá privátní registr , https://github.com/microsoft/vcpkg-docs/tree/vcpkg-registryjako zdroj pro knihovny beicode a beison. Všechny ostatní porty jsou nalezeny z interního zrcadla kurátorovaného katalogu hostovaného na https://internal/mirror/of/github.com/Microsoft/vcpkgadrese .

Příklad také konfiguruje vlastní překryvné vrstvy pro porty a triplety, které jsou přítomné v úložišti zdrojového kódu.

Pole nejvyšší úrovně

Name Typ Popis
default-registry Registr nebo null Registr používaný pro všechny porty bez konkrétního registru
překryvné porty string[] Seznam cest, které se mají použít jako překryvné porty
překryvné trojité string[] Seznam cest, které se mají použít jako překryvné triplety
Rejstříků Registr[] Další registry, které se mají použít pro podmnožinu portů

"default-registry"

Registr, který se má použít pro všechny porty bez konkrétnějšího registru. Registr nebo null. Nepovinné.

Porty, které neodpovídají žádnému "packages" vzoru, se přeloží na výchozí registr. Pokud je výchozí registr zadaný jako null, porty, které se neshodují, se nepodaří přeložit. Pokud je výchozí registr vynechán, bude implicitně nastaven na Předdefinovaný registr pomocí hodnoty "builtin-baseline" jako "baseline".

"registries"

Další registry, které se mají použít pro konkrétní porty. Pole registrů. Nepovinné.

"overlay-ports"

Seznam překryvných cest portů Pole řetězců. Nepovinné.

Každá cesta v poli musí odkazovat na jednu z těchto hodnot:

  • Adresář portu obsahující vcpkg.json a portfile.cmake
  • Adresář obsahující adresáře portů pojmenované za porty (zlibvcpkg.jsonmusí být na zlib/vcpkg.jsonadrese ).

Relativní cesty jsou vyřešeny vzhledem k vcpkg-configuration.json souboru. Absolutní cesty je možné použít, ale nedoporučuje se.

"overlay-triplets"

Seznam trojitých překryvných cest Pole řetězců. Nepovinné.

Každá cesta v poli musí odkazovat na adresář trojitých souborů (viz dokumentace k triplets). Relativní cesty jsou vyřešeny vzhledem k vcpkg-configuration.json souboru. Absolutní cesty je možné použít, ale nedoporučuje se.

Pole registru

Název Požadováno Type Popis
účaří Git a předdefinované registry string Omezení minimální verze na všech portech z tohoto registru
laskavý Ano string Typ používaného registru
balíky Ano, pokud není výchozí string Seznamportůch
path Registr systému souborů string Cesta k registru systému souborů
odkaz No string Referenční informace k Gitu pro dostupné verze
skladiště Git Registry string Identifikátor URI registru Git

Registr: "kind"

Typ použitého registru. Řetězec. Povinný:

"kind" Hodnota Typ registru
"filesystem" Registr systému souborů
"git" Git Registry
"builtin" Integrovaný registr

Registr: "baseline"

Identifikátor specifický pro registr pro minimální verze, které se mají použít z tohoto registru. Řetězec. Povinný:

V případě registrů Gitu a integrovaného registru se jedná o 40znakovou sha potvrzení gitu v úložišti registru, které obsahuje versions/baseline.json.

V případě registrů systému souborů může být libovolný platný název vlastnosti JSON, který registr definuje ve svém baseline.jsonregistru . Pokud registr systému souborů deklaruje směrný plán, použije se "default"hodnota .

Registr: "reference"

Odkaz Gitu použitý k výpisu dostupných verzí registru Git. Řetězec. Nepovinné.

Pokud není zadáno, je výchozí hodnota HEAD. Toto pole může být větev tématu pro přístup k verzím, které ještě nejsou plně publikované.

Registr: "repository"

Identifikátor URI registru Git. Řetězec. Vyžaduje se pro registry Gitu.

Řetězec může být libovolný formát identifikátoru URI, kterému Git rozumí:

  • "https://github.com/microsoft/vcpkg"
  • "git@github.com:microsoft/vcpkg"
  • "/dev/vcpkg-registry"

Relativní cesty nemají zadané chování, které se změní v budoucích verzích vcpkg.

Registr: "path"

Cesta k registru systému souborů. Řetězec. Vyžaduje se pro registry systému souborů.

Relativní cesty jsou vyřešeny vzhledem k vcpkg-configuration.json.

Registr: "packages"

Seznam vzorů portů přiřazených k tomuto registru. Pole řetězců. Vyžadováno pro všechny registry mimo "default-registry".

Každá položka musí být následující:

  • Název balíčku
  • Předpona názvu balíčku následovaná * (přidáno v nástroji verze 2022-12-14)

Vzory balíčků mohou obsahovat pouze malá písmena, číslice a -, s volitelným koncovým znakem *.

Příklady platných vzorů:

  • *: Odpovídá všem názvům portů.
  • boost: Odpovídá pouze portu. boost
  • b*: Odpovídá portům, které začínají písmenem. b
  • boost-*: Odpovídá portům, které začínají předponou. boost-

Příklady neplatných vzorů:

  • *a (* musí být posledním znakem v předponě).
  • a** (Je povolen pouze jeden * )
  • a+ (+ není platný znak vzoru)
  • a? (? není platný znak vzoru)

Další informace o překladu názvů portů najdete v dokumentaci k používání registrů.