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
danportfile.cmake
, atau - Direktori yang berisi direktori yang dinamai sesuai dengan port (
vcpkg.json
zlib
harus berada dizlib/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 portboost
-
b*
: Cocok dengan port yang dimulai dengan hurufb
-
boost-*
: Mencocokkan port yang dimulai dengan awalanboost-
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.