{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Project", "type": "object", "properties": { "files": { "type": "array", "items": { "$ref": "#/$defs/FileRule" } }, "formats": { "$ref": "#/$defs/Formats" }, "product": { "$ref": "#/$defs/Product" }, "registry": { "type": "array", "default": [], "items": { "$ref": "#/$defs/RegistryEntry" } }, "schemaVersion": { "type": "integer", "format": "uint32", "minimum": 0 }, "signing": { "$ref": "#/$defs/Signing", "default": { "mode": "unsigned" } }, "sources": { "type": "array", "items": { "$ref": "#/$defs/Source" } }, "targets": { "type": "array", "items": { "$ref": "#/$defs/Target" } } }, "additionalProperties": false, "required": [ "schemaVersion", "product", "sources", "files", "formats", "targets" ], "$defs": { "Application": { "type": "object", "properties": { "entryPoint": { "type": "string" }, "executable": { "type": "string" }, "id": { "type": "string" }, "square150x150Logo": { "type": "string" }, "square44x44Logo": { "type": "string" } }, "additionalProperties": false, "required": [ "id", "executable", "entryPoint", "square44x44Logo", "square150x150Logo" ] }, "Dependency": { "type": "object", "properties": { "minVersion": { "type": "string" }, "name": { "type": "string" }, "publisher": { "type": "string" } }, "additionalProperties": false, "required": [ "name", "publisher", "minVersion" ] }, "FileRule": { "type": "object", "properties": { "exclude": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "include": { "type": "array", "items": { "type": "string" } }, "required": { "type": "boolean" }, "source": { "type": "string" }, "targetRelativePath": { "type": "string" } }, "additionalProperties": false, "required": [ "id", "source", "include", "exclude", "targetRelativePath", "required" ] }, "Formats": { "type": "object", "properties": { "msix": { "$ref": "#/$defs/Msix" } }, "additionalProperties": false, "required": [ "msix" ] }, "Identity": { "type": "object", "properties": { "architecture": { "type": "string" }, "name": { "type": "string" }, "publisher": { "type": [ "string", "null" ] }, "version": { "type": "string" } }, "additionalProperties": false, "required": [ "name", "version", "architecture" ] }, "Msix": { "type": "object", "properties": { "applications": { "type": "array", "items": { "$ref": "#/$defs/Application" } }, "capabilities": { "type": "array", "items": { "type": "string" } }, "dependencies": { "type": "array", "items": { "$ref": "#/$defs/Dependency" } }, "extensions": { "type": "array", "items": true }, "identity": { "$ref": "#/$defs/Identity" }, "minimumOsVersion": { "type": "string" } }, "additionalProperties": false, "required": [ "identity", "minimumOsVersion", "applications", "capabilities", "extensions", "dependencies" ] }, "Product": { "type": "object", "properties": { "displayName": { "type": "string" }, "displayVersion": { "type": "string" }, "manufacturer": { "type": "string" } }, "additionalProperties": false, "required": [ "displayName", "manufacturer", "displayVersion" ] }, "RegistryEntry": { "type": "object", "properties": { "data": { "description": "Lossless text: decimal/0x numbers, newline-separated MULTI_SZ, hex binary.", "type": "string" }, "hive": { "type": "string" }, "id": { "type": "string" }, "key": { "type": "string" }, "name": { "description": "Empty string denotes the unnamed/default value.", "type": "string" }, "valueType": { "type": "string" }, "view": { "type": "string" } }, "additionalProperties": false, "required": [ "id", "hive", "key", "name", "view", "valueType", "data" ] }, "Signing": { "type": "object", "properties": { "mode": { "$ref": "#/$defs/SigningMode", "default": "unsigned" } }, "additionalProperties": false }, "SigningMode": { "type": "string", "enum": [ "unsigned", "development" ] }, "Source": { "type": "object", "properties": { "alias": { "type": "string" } }, "additionalProperties": false, "required": [ "alias" ] }, "Target": { "type": "object", "properties": { "delivery": { "type": "string" }, "distribution": { "type": "string" }, "format": { "type": "string" }, "id": { "type": "string" }, "signingProfileRef": { "type": [ "string", "null" ] } }, "additionalProperties": false, "required": [ "id", "format", "delivery", "distribution" ] } } }