{ "$id": "https://aka.ms/winget-manifest.defaultlocale.1.4.0.schema.json", "$schema": "http://json-schema.org/draft-07/schema#", "description": "A representation of a multiple-file manifest representing a default app metadata in the OWC. v1.4.0", "definitions": { "Url": { "type": [ "string", "null" ], "pattern": "^([Hh][Tt][Tt][Pp][Ss]?)://.+$", "maxLength": 2048, "description": "Optional Url type" }, "Tag": { "type": [ "string", "null" ], "minLength": 1, "maxLength": 40, "description": "Package moniker or tag" }, "Agreement": { "type": "object", "properties": { "AgreementLabel": { "type": [ "string", "null" ], "minLength": 1, "maxLength": 100, "description": "The label of the Agreement. i.e. EULA, AgeRating, etc. This field should be localized. Either Agreement or AgreementUrl is required. When we show the agreements, we would Bold the AgreementLabel" }, "Agreement": { "type": [ "string", "null" ], "minLength": 1, "maxLength": 10000, "description": "The agreement text content." }, "AgreementUrl": { "$ref": "#/definitions/Url", "description": "The agreement URL." } } }, "Documentation": { "type": "object", "properties": { "DocumentLabel": { "type": [ "string", "null" ], "minLength": 1, "maxLength": 100, "description": "The label of the documentation for providing software guides such as manuals and troubleshooting URLs." }, "DocumentUrl": { "$ref": "#/definitions/Url", "description": "The documentation URL." } } } }, "type": "object", "properties": { "PackageIdentifier": { "type": "string", "pattern": "^[^\\.\\s\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]{1,32}(\\.[^\\.\\s\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]{1,32}){1,7}$", "maxLength": 128, "description": "The package unique identifier" }, "PackageVersion": { "type": "string", "pattern": "^[^\\\\/:\\*\\?\"<>\\|\\x01-\\x1f]+$", "maxLength": 128, "description": "The package version" }, "PackageLocale": { "type": "string", "default": "en-US", "pattern": "^([a-zA-Z]{2,3}|[iI]-[a-zA-Z]+|[xX]-[a-zA-Z]{1,8})(-[a-zA-Z]{1,8})*$", "maxLength": 20, "description": "The package meta-data locale" }, "Publisher": { "type": "string", "minLength": 2, "maxLength": 256, "description": "The publisher name" }, "PublisherUrl": { "$ref": "#/definitions/Url", "description": "The publisher home page" }, "PublisherSupportUrl": { "$ref": "#/definitions/Url", "description": "The publisher support page" }, "PrivacyUrl": { "$ref": "#/definitions/Url", "description": "The publisher privacy page or the package privacy page" }, "Author": { "type": [ "string", "null" ], "minLength": 2, "maxLength": 256, "description": "The package author" }, "PackageName": { "type": "string", "minLength": 2, "maxLength": 256, "description": "The package name" }, "PackageUrl": { "$ref": "#/definitions/Url", "description": "The package home page" }, "License": { "type": "string", "minLength": 3, "maxLength": 512, "description": "The package license" }, "LicenseUrl": { "$ref": "#/definitions/Url", "description": "The license page" }, "Copyright": { "type": [ "string", "null" ], "minLength": 3, "maxLength": 512, "description": "The package copyright" }, "CopyrightUrl": { "$ref": "#/definitions/Url", "description": "The package copyright page" }, "ShortDescription": { "type": "string", "minLength": 3, "maxLength": 256, "description": "The short package description" }, "Description": { "type": [ "string", "null" ], "minLength": 3, "maxLength": 10000, "description": "The full package description" }, "Moniker": { "$ref": "#/definitions/Tag", "description": "The most common package term" }, "Tags": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/Tag" }, "maxItems": 16, "uniqueItems": true, "description": "List of additional package search terms" }, "Agreements": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/Agreement" }, "maxItems": 128 }, "ReleaseNotes": { "type": [ "string", "null" ], "minLength": 1, "maxLength": 10000, "description": "The package release notes" }, "ReleaseNotesUrl": { "$ref": "#/definitions/Url", "description": "The package release notes url" }, "PurchaseUrl": { "$ref": "#/definitions/Url", "description": "The purchase url for acquiring entitlement for the package." }, "InstallationNotes": { "type": [ "string", "null" ], "minLength": 1, "maxLength": 256, "description": "The notes displayed to the user upon completion of a package installation." }, "Documentations": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/Documentation" }, "maxItems": 256 }, "ManifestType": { "type": "string", "default": "defaultLocale", "const": "defaultLocale", "description": "The manifest type" }, "ManifestVersion": { "type": "string", "default": "1.4.0", "pattern": "^(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(\\.(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){2}$", "description": "The manifest syntax version" } }, "required": [ "PackageIdentifier", "PackageVersion", "PackageLocale", "Publisher", "PackageName", "License", "ShortDescription", "ManifestType", "ManifestVersion" ] }