|
| 1 | +{ |
| 2 | + "$schema": "http://json-schema.org/draft-07/schema#", |
| 3 | + "$id": "https://json.schemastore.org/cinnamon-spice.info.json", |
| 4 | + "title": "Cinnamon Spice info.json schema", |
| 5 | + "description": "Schema for the info.json metadata file of a Cinnamon Spice, as documented at: <https://github.com/linuxmint/cinnamon-spices-extensions>, <https://github.com/linuxmint/cinnamon-spices-applet>, <https://github.com/linuxmint/cinnamon-spices-desklets>, and <https://github.com/linuxmint/cinnamon-spices-themes>", |
| 6 | + "oneOf": [ |
| 7 | + { |
| 8 | + "$comment": "This alternative was added so that the numerous existing info.json files that only contain the 'author' property are valid.", |
| 9 | + "additionalProperties": false, |
| 10 | + "properties": { |
| 11 | + "$schema": { |
| 12 | + "description": "The JSON schema to validate the file against", |
| 13 | + "minLength": 1, |
| 14 | + "type": "string" |
| 15 | + }, |
| 16 | + "author": { |
| 17 | + "description": "The primary, current author of this Cinnamon Spice; the GitHub style `Name <email> (url)` is supported", |
| 18 | + "type": "string" |
| 19 | + } |
| 20 | + }, |
| 21 | + "required": ["author"], |
| 22 | + "type": "object" |
| 23 | + }, |
| 24 | + { |
| 25 | + "additionalProperties": false, |
| 26 | + "properties": { |
| 27 | + "$schema": { |
| 28 | + "description": "The JSON schema to validate the file against", |
| 29 | + "minLength": 1, |
| 30 | + "type": "string" |
| 31 | + }, |
| 32 | + "author": { |
| 33 | + "description": "The primary, current author of this Cinnamon Spice; the GitHub style `Name <email> (url)` is supported.", |
| 34 | + "minLength": 1, |
| 35 | + "type": "string" |
| 36 | + }, |
| 37 | + "contributors": { |
| 38 | + "description": "A list of other contributors to this Cinnamon Spice; the GitHub style `Name <email> (url)` is supported.", |
| 39 | + "items": { |
| 40 | + "type": "string" |
| 41 | + }, |
| 42 | + "minItems": 1, |
| 43 | + "type": "array" |
| 44 | + }, |
| 45 | + "description": { |
| 46 | + "description": "A short description of this Cinnamon Spice to be displayed in the catalog", |
| 47 | + "minLength": 1, |
| 48 | + "type": "string" |
| 49 | + }, |
| 50 | + "git_author": { |
| 51 | + "description": "DEPRECATED: Use the `author` field instead", |
| 52 | + "minLength": 1, |
| 53 | + "type": "string" |
| 54 | + }, |
| 55 | + "license": { |
| 56 | + "$ref": "https://json.schemastore.org/base.json#/definitions/license", |
| 57 | + "description": "The license under which this Cinnamon Spice is released" |
| 58 | + }, |
| 59 | + "name": { |
| 60 | + "description": "An unique name for this Cinnamon Spice", |
| 61 | + "minLength": 1, |
| 62 | + "type": "string" |
| 63 | + }, |
| 64 | + "original_author": { |
| 65 | + "description": "The name of the author who originally wrote this Cinnamon Spice if it is not the same as the current `author`; the GitHub style `Name <email> (url)` is supported.", |
| 66 | + "minLength": 1, |
| 67 | + "type": "string" |
| 68 | + }, |
| 69 | + "thubmnail": { |
| 70 | + "description": "DEPRECATED: The icon should be in the `icon.png` file, and the screenshot in the `screenshot.png` file", |
| 71 | + "minLength": 1, |
| 72 | + "type": "string" |
| 73 | + }, |
| 74 | + "url": { |
| 75 | + "description": "The url of the home page for this Cinnamon Spice, e.g., the GitHub repository", |
| 76 | + "format": "url", |
| 77 | + "minLength": 1, |
| 78 | + "type": "string" |
| 79 | + } |
| 80 | + }, |
| 81 | + "required": ["name", "description", "author"], |
| 82 | + "type": "object" |
| 83 | + } |
| 84 | + ] |
| 85 | +} |
0 commit comments