Add the shared Rust engine, Tauri UI and CLI, registry authoring, developer signing, branded start screen and .isproj persistence. Remove the unused project ID. Validation: frontend build and tests, Rust workspace tests, native build and real Windows SDK package generation passed. Closes #2 Closes #3 Closes #4 Closes #5 Closes #6 Closes #7
344 lines
6.6 KiB
JSON
344 lines
6.6 KiB
JSON
{
|
|
"$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"
|
|
]
|
|
}
|
|
}
|
|
}
|