docs/vso-distribution.schema.json
|
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Implemented VSO distribution contracts", "oneOf": [ { "type": "object", "additionalProperties": false, "required": [ "schemaVersion", "product", "generation", "version", "platform", "adapter", "launcher", "launcherType", "requirements", "filesManifest", "persistentData", "update", "uninstall" ], "properties": { "schemaVersion": { "const": 1 }, "product": { "const": "VicoSafeOptimizer" }, "generation": { "const": "7" }, "version": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z.-]+)?(?:\\+[0-9A-Za-z.-]+)?$" }, "platform": { "const": "windows-x64" }, "adapter": { "const": "vso7-classic-v1" }, "launcher": { "const": "START VSO7.bat" }, "launcherType": { "const": "Batch" }, "requirements": { "type": "object", "additionalProperties": false, "required": [ "host", "minimumVersion", "architecture" ], "properties": { "host": { "type": "string" }, "minimumVersion": { "type": "string" }, "architecture": { "const": "x64" } } }, "filesManifest": { "const": "SHA256SUMS.txt" }, "persistentData": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "base", "path", "ownership", "removeByDefault" ], "properties": { "base": { "enum": [ "Installation", "ProgramData", "LocalAppData" ] }, "path": { "type": "string", "minLength": 1 }, "ownership": { "enum": [ "Installation", "SharedOrUntracked" ] }, "removeByDefault": { "type": "boolean" } } } }, "update": { "type": "object", "additionalProperties": false, "required": [ "compatibleGenerations", "preserveUnknownFiles" ], "properties": { "compatibleGenerations": { "type": "array", "items": { "type": "string" } }, "preserveUnknownFiles": { "const": true } } }, "uninstall": { "type": "object", "additionalProperties": false, "required": [ "restoreWindowsTweaks", "preserveUnknownFiles" ], "properties": { "restoreWindowsTweaks": { "const": false }, "preserveUnknownFiles": { "const": true } } } } }, { "type": "object", "additionalProperties": false, "required": [ "schemaVersion", "product", "generation", "version", "platform", "adapter", "launcher", "launcherType", "requirements", "filesManifest", "persistentData", "update", "uninstall", "packageType", "requiredFiles", "optionalFiles" ], "properties": { "schemaVersion": { "const": 2 }, "product": { "const": "VicoSafeOptimizer" }, "generation": { "const": "7" }, "version": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z.-]+)?(?:\\+[0-9A-Za-z.-]+)?$" }, "platform": { "const": "windows-x64" }, "adapter": { "const": "vso7-classic-v1" }, "launcher": { "const": "START VSO7.bat" }, "launcherType": { "const": "Batch" }, "requirements": { "type": "object", "additionalProperties": false, "required": [ "host", "minimumVersion", "architecture" ], "properties": { "host": { "type": "string" }, "minimumVersion": { "type": "string" }, "architecture": { "const": "x64" } } }, "filesManifest": { "const": "SHA256SUMS.txt" }, "persistentData": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "base", "path", "ownership", "removeByDefault" ], "properties": { "base": { "enum": [ "Installation", "ProgramData", "LocalAppData" ] }, "path": { "type": "string", "minLength": 1 }, "ownership": { "enum": [ "Installation", "SharedOrUntracked" ] }, "removeByDefault": { "type": "boolean" } } } }, "update": { "type": "object", "additionalProperties": false, "required": [ "compatibleGenerations", "preserveUnknownFiles" ], "properties": { "compatibleGenerations": { "type": "array", "items": { "type": "string" } }, "preserveUnknownFiles": { "const": true } } }, "uninstall": { "type": "object", "additionalProperties": false, "required": [ "restoreWindowsTweaks", "preserveUnknownFiles" ], "properties": { "restoreWindowsTweaks": { "const": false }, "preserveUnknownFiles": { "const": true } } }, "packageType": { "const": "PortableZip" }, "requiredFiles": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "path", "role" ], "properties": { "path": { "type": "string", "minLength": 1 }, "role": { "enum": [ "Application", "Configuration", "Cache", "Log", "Temporary", "Recovery" ] } } } }, "optionalFiles": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "path", "role" ], "properties": { "path": { "type": "string", "minLength": 1 }, "role": { "enum": [ "Application", "Configuration", "Cache", "Log", "Temporary", "Recovery" ] } } } } } } ] } |