{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "type": "object", "allOf": [ { "properties": { "name": { "description": "The name of the top-level package", "$ref": "vcpkg-schema-definitions.schema.json#/definitions/port-name" }, "version-string": { "description": "Text used to identify an arbitrary version", "type": "string", "pattern": "^[^#]+$" }, "version": { "description": "A relaxed version string (1.2.3.4...)", "type": "string", "pattern": "^\\d+(\\.\\d+)*(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$" }, "version-date": { "description": "A date version string (e.g. 2020-01-20)", "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}(\\.\\d+)*$" }, "version-semver": { "$ref": "vcpkg-schema-definitions.schema.json#/definitions/semantic-version" }, "port-version": { "$ref": "vcpkg-schema-definitions.schema.json#/definitions/port-version" }, "maintainers": { "$ref": "vcpkg-schema-definitions.schema.json#/definitions/maintainers" }, "summary": { "description": "A shorter description of the port or project.", "type": "string" }, "description": { "$ref": "vcpkg-schema-definitions.schema.json#/definitions/description-field" }, "homepage": { "description": "A url which points to the homepage of a package.", "type": "string", "format": "uri" }, "documentation": { "description": "A url which points to the documentation of a package.", "type": "string", "format": "uri" }, "license": { "$ref": "vcpkg-schema-definitions.schema.json#/definitions/license" }, "builtin-baseline": { "description": "A vcpkg repository commit for version control.", "type": "string" }, "dependencies": { "description": "Dependencies that are always required.", "type": "array", "items": { "$ref": "vcpkg-schema-definitions.schema.json#/definitions/dependency" } }, "overrides": { "description": "Version overrides for dependencies.", "type": "array", "items": { "$ref": "vcpkg-schema-definitions.schema.json#/definitions/override" } }, "features": { "description": "A map of features supported by the package", "type": "object", "patternProperties": { "": { "$ref": "vcpkg-schema-definitions.schema.json#/definitions/feature" } } }, "default-features": { "description": "Features enabled by default with the package.", "type": "array", "items": { "$ref": "vcpkg-schema-definitions.schema.json#/definitions/dependency-feature" } }, "supports": { "$ref": "vcpkg-schema-definitions.schema.json#/definitions/platform-expression" }, "vcpkg-configuration": { "description": "Embedded vcpkg.configuration.json file.", "$ref": "vcpkg-configuration.schema.json" } }, "patternProperties": { "^\\$": {} }, "additionalProperties": false }, { "$ref": "vcpkg-schema-definitions.schema.json#/definitions/has-zero-or-one-version" } ] }