diff options
| author | ras0219 <533828+ras0219@users.noreply.github.com> | 2020-10-12 10:22:47 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-12 10:22:47 -0700 |
| commit | d1ba685e975db41d767af5676ca2669a5e7e6ad9 (patch) | |
| tree | e6dcb36f131e638fd5307a304a8fb5f2ce072758 /docs | |
| parent | d6b5fbfef10e9476cdb8d1a90503f4f6504e63d9 (diff) | |
| download | vcpkg-d1ba685e975db41d767af5676ca2669a5e7e6ad9.tar.gz vcpkg-d1ba685e975db41d767af5676ca2669a5e7e6ad9.zip | |
[vcpkg] Further JSON error improvements (#13399)
* [vcpkg] Split vcpkg/base/json.h into vcpkg/base/jsonreader.h
* [vcpkg] Extract definitions of Configuration-Deserializer (& friends)
These types are only used by VcpkgPaths during the initial parse.
* [vcpkg] Introduce levenshtein-distance suggestions for json errors
* [vcpkg] Fix regression in supports handling
* [vcpkg] Fix signed/unsigned mismatch
* [vcpkg] Address CR comments
* [vcpkg] Address CR comments
* Fix compiler error from merge conflict.
* [vcpkg] Change parameters of Reader::check_for_unexpected_fields to better match declaration
* [vcpkg] Improve errors from features set
* [vcpkg] Fix includes
* [vcpkg] Reuse code
* [vcpkg] Check the "name" field always to maximize error information
* [docs] Improve english phrasing in manifests.md
* [vcpkg] Correct docs link for manifests
Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/users/manifests.md | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/docs/users/manifests.md b/docs/users/manifests.md index 981f43d42..427d336c3 100644 --- a/docs/users/manifests.md +++ b/docs/users/manifests.md @@ -28,20 +28,21 @@ In this document, we have basic information on [Writing a Manifest](#writing-a-m the [vcpkg Command Line Interface](#command-line-interface), and a little more information on [CMake](#cmake-integration) integration. -Check out the [manifest cmake example](../examples/manifest-mode-cmake.md) for an example project using CMake and manifest mode. +Check out the [manifest cmake example](../examples/manifest-mode-cmake.md) for an example project using CMake and +manifest mode. ## Writing a Manifest -A manifest is a JSON-formatted file which lies at the root of your project. +A manifest is a JSON-formatted file named `vcpkg.json` which lies at the root of your project. It contains all the information a person needs to know to get dependencies for your project, as well as all the metadata about your project that a person who depends on you might be interested in. -Every manifest is named `vcpkg.json`, and has a top level object. It is a strict JSON file, -and can't contain things like comments or trailing commas - however, -you can use field names that start with `$` to write your comments. +Manifests follow strict JSON: they can't contain C++-style comments (`//`) nor trailing commas. However +you can use field names that start with `$` to write your comments in any object that has a well-defined set of keys. +These comment fields are not allowed in any objects which permit user-defined keys (such as `"features"`). -All of the fields that `vcpkg.json` supports are as follows; the most important ones are [`"name"`](#name), -the [version fields](#version-fields), and [`"dependencies"`](#dependencies): +Each manifest contains a top level object with the fields documented below; the most important ones are +[`"name"`](#name), the [version fields](#version-fields), and [`"dependencies"`](#dependencies): ### `"name"` |
