blob: e83426c4cd2444103bd58ca254873491e66c3efb [file] [log] [blame]
{
"type": "object",
"title": "downloads.json schema",
"additionalProperties": false,
"properties": {
"$schema": { "type": "string" },
"versionBranch": { "type": "string" },
"lang": {
"type": "object",
"$ref" : "#/definitions/lang"
},
"capella": {
"type": "object",
"$ref" : "#/definitions/product"
},
"capellaStudio": {
"type": "object",
"$ref" : "#/definitions/product"
},
"addons": {
"type": "array",
"items": {
"$ref" : "#/definitions/addon"
}
}
},
"definitions": {
"addon": {
"additionalProperties": false,
"properties": {
"name": { "type": "string" },
"showOnMainPage": { "type": "boolean", "default": false },
"compatibleWithCurrentVersion": { "type": "boolean", "default": true },
"isViewpoint": { "type": "boolean", "default": false },
"isSample": { "type": "boolean", "default": false },
"key": { "type": "string" },
"fragment": { "type": "string", "default": "@key" },
"licence": { "type": "string" },
"contact": { "type": "string" },
"description": { "type": "string" },
"download": { "$ref" : "#/definitions/download" },
"tags": { "type": "array", "items": { "type": "string" } }
},
"required": ["name", "key", "licence", "contact", "description", "download"]
},
"download": {
"additionalProperties": false,
"properties": {
"dropin": { "anyOf": [
{ "type": "string" },
{ "type": "array", "items": { "$ref" : "#/definitions/download-item" } }
] },
"updateSite": { "anyOf": [
{ "type": "string" },
{ "type": "array", "items": { "$ref" : "#/definitions/download-item" } }
] },
"installAddon": { "type": "string" },
"installNotes": {
"$ref" : "#/definitions/download"
},
"notes": { "type": "string" },
"dandi": { "type": "string" },
"learnMore": { "type": "string" },
"release": { "type": "string" },
"userManual": { "type": "string" }
}
},
"download-item": {
"additionalProperties": false,
"properties": {
"name": { "type": "string" },
"url": { "type": "string" }
}
},
"lang": {
"additionalProperties": false,
"properties": {
"dropin": { "$ref" : "#/definitions/langitem" },
"updateSite": { "$ref" : "#/definitions/langitem" },
"installAddon": { "$ref" : "#/definitions/langitem" },
"installNotes": { "$ref" : "#/definitions/langitem" },
"dandi": { "$ref" : "#/definitions/langitem" },
"learnMore": { "$ref" : "#/definitions/langitem" },
"main": { "$ref" : "#/definitions/langitem" },
"mirror": { "$ref" : "#/definitions/langitem" },
"release": { "$ref" : "#/definitions/langitem" },
"userManual": { "$ref" : "#/definitions/langitem" },
"product": { "$ref" : "#/definitions/langitem" },
"compatibility": { "$ref" : "#/definitions/langitem" },
"windows": { "$ref" : "#/definitions/langplatform" },
"linux": { "$ref" : "#/definitions/langplatform" },
"mac": { "$ref" : "#/definitions/langplatform" }
}
},
"langitem": {
"additionalProperties": false,
"properties": {
"text": { "type": "string" },
"target": { "type": "string" },
"icon": { "type": "string" }
},
"required": ["text"]
},
"langplatform": {
"additionalProperties": false,
"properties": {
"text": { "type": "string" },
"target": { "type": "string" },
"icon": { "type": "string" },
"key": { "type": "string" }
},
"required": ["text", "icon", "key"]
},
"product": {
"additionalProperties": false,
"properties": {
"name": { "type": "string" },
"version": { "type": "string" },
"key": { "type": "string" },
"links": {
"type": "object",
"additionalProperties": false,
"properties": {
"windows": { "$ref" : "#/definitions/productLink" },
"linux": { "$ref" : "#/definitions/productLink" },
"mac": { "$ref" : "#/definitions/productLink" }
},
"required": ["windows"]
}
},
"required": ["name", "key", "version"]
},
"productLink": {
"additionalProperties": false,
"properties": {
"main": { "type": "string" },
"mirror": { "type": "string" }
},
"required": ["main"]
}
}
}