Bagikan melalui


Referensi vcpkg-configuration.json

File vcpkg-configuration.json membentuk bagian dari manifesproyek , bersama dengan vcpkg.json. Semua bidang dalam file vcpkg-configuration.json hanya digunakan dari proyek tingkat atas -- file vcpkg-configuration.json dalam dependensi apa pun diabaikan.

Dalam Mode Manifes, vcpkg-configuration.json dapat berada dalam file terpisah di samping vcpkg.json atau dapat disematkan di "vcpkg-configuration" field.

Dalam Mode Klasik, vcpkg akan menggunakan file vcpkg-configuration.json di akar instans vcpkg.

Untuk gambaran umum penggunaan registri dengan vcpkg, lihat Menggunakan Registri.

Skema JSON terbaru tersedia di https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json. ID dengan dukungan Skema JSON seperti Visual Studio dan Visual Studio Code dapat menggunakan file ini untuk menyediakan pelengkapan otomatis dan pemeriksaan sintaksis. Untuk sebagian besar IDE, Anda harus mengatur "$schema" di vcpkg-configuration.json Anda ke URL ini.

Contoh

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

Contoh ini menambahkan registri privat, https://github.com/microsoft/vcpkg-docs/tree/vcpkg-registry, sebagai sumber untuk pustaka beicode dan beison. Semua port lain ditemukan dari cermin internal Katalog Yang Dikurasi yang dihosting di https://internal/mirror/of/github.com/Microsoft/vcpkg.

Contoh ini juga mengonfigurasi overlay kustom untuk port dan triplet yang ada di repositori kode sumber.

Bidang tingkat atas

Nama Jenis Deskripsi
registri default Registri atau null Registri yang digunakan untuk semua port tanpa registri tertentu
port overlay string[] Daftar jalur yang akan digunakan sebagai lokasi port overlay
overlay-triplet string[] Daftar jalur yang akan digunakan sebagai triplet overlay
registri Registri[] Registri tambahan yang digunakan untuk subset port

"default-registry"

Registri yang digunakan untuk semua port tanpa registri yang lebih spesifik. Registri atau null. Fakultatif.

Port yang tidak cocok dengan pola "packages" diselesaikan ke registri default. Jika registri default ditentukan sebagai null, port yang tidak cocok akan gagal diselesaikan. Jika registri default dihilangkan, secara implisit akan diatur ke Builtin Registry menggunakan nilai "builtin-baseline" sebagai "baseline".

"registries"

Registri tambahan yang digunakan untuk port tertentu. Array Registri. Fakultatif.

"overlay-ports"

Daftar jalur overlay port. Array string. Fakultatif.

Setiap jalur dalam array harus memberi nama:

  • Direktori yang berisi port, dengan file vcpkg.json dan portfile.cmake, atau
  • Direktori yang berisi direktori yang dinamai sesuai dengan port ( vcpkg.jsonzlibharus berada di zlib/vcpkg.json).

Jalur relatif diselesaikan relatif terhadap file vcpkg-configuration.json. Jalur absolut dapat digunakan tetapi tidak disarankan.

"overlay-triplets"

Daftar jalur overlay triplet. Array string. Fakultatif.

Setiap jalur dalam array harus menunjuk ke direktori file triplet (melihat dokumentasi triplet). Jalur relatif diselesaikan relatif terhadap file vcpkg-configuration.json. Jalur absolut dapat digunakan tetapi tidak disarankan.

Bidang Registri

Nama Diperlukan Jenis Deskripsi
garis besar Git dan Registri Bawaan tali Batasan versi minimum pada semua port dari registri ini
jenis Ya tali Jenis registri yang digunakan
paket Ya, jika bukan default tali Daftar port yang akan berasal dari registri ini
jalur Filesystem Registry tali Jalur ke registri Filesystem
referensi Tidak tali Referensi Git untuk digunakan untuk versi yang tersedia
repositori Git Registry tali URI registri Git

Registri : "kind"

Jenis registri yang digunakan. String. Diperlukan.

Nilai "kind" Jenis Registri
"filesystem" Filesystem Registry
"git" Git Registry
"builtin" Builtin Registry

Registri : "baseline"

Pengidentifikasi khusus registri untuk versi minimum yang akan digunakan dari registri ini. String. Diperlukan.

Untuk Git Registries dan untuk Builtin Registry , ini adalah sha penerapan git 40 karakter di repositori registri yang berisi versions/baseline.json.

Untuk Filesystem Registries, dapat berupa nama properti json yang valid yang ditentukan registri pada baseline.json. Jika registri sistem file tidak mendeklarasikan garis besar, nilai yang digunakan "default".

Registri : "reference"

Referensi Git yang digunakan untuk mencantumkan versi yang tersedia dari Git Registry . String. Fakultatif.

Jika tidak ditentukan, default ke HEAD. Bidang ini bisa menjadi cabang topik untuk mengakses versi yang belum sepenuhnya diterbitkan.

Registri : "repository"

URI Git Registry. String. Diperlukan untuk Git Registries.

String dapat berupa format URI apa pun yang dipahami Git:

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

Jalur relatif memiliki perilaku yang tidak ditentukan yang akan berubah dalam versi vcpkg di masa mendatang.

Registri : "path"

Jalur ke Filesystem Registry. String. Diperlukan untuk Filesystem Registries.

Jalur relatif diselesaikan relatif terhadap vcpkg-configuration.json.

Registri : "packages"

Daftar pola port yang ditetapkan ke registri ini. Array string. Diperlukan untuk semua registri di luar "default-registry".

Setiap entri harus berupa:

  • Nama paket
  • Awalan nama paket, diikuti oleh * (Ditambahkan dalam alat versi 2022-12-14)

Pola paket hanya boleh berisi huruf kecil, digit, dan -, dengan *berikutnya opsional.

Contoh pola yang valid:

  • *: Cocok dengan semua nama port
  • boost: Hanya cocok dengan port boost
  • b*: Cocok dengan port yang dimulai dengan huruf b
  • boost-*: Mencocokkan port yang dimulai dengan awalan boost-

Contoh pola yang tidak valid:

  • *a (* harus menjadi karakter terakhir dalam awalan)
  • a** (hanya satu * yang diizinkan)
  • a+ (+ bukan karakter pola yang valid)
  • a? (? bukan karakter pola yang valid)

Lihat dokumentasi Menggunakan Registri untuk informasi selengkapnya tentang bagaimana nama port diselesaikan.