{ | |
"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"] | |
} | |
} | |
} |