yml: Move json schema from python dict to standalone json file

- Easier to reference as schema for IDEs
- Can be added to schemastore.org

Signed-off-by: ciarancourtney <ciaran.courtney@activeenergy.ie>
[Jan: rebased, merged in schema installation]
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
This commit is contained in:
ciarancourtney
2021-10-04 18:41:37 +02:00
committed by Jan Kiszka
parent 6630780935
commit 460699685e
3 changed files with 232 additions and 207 deletions

222
kas/schema-kas.json Normal file
View File

@@ -0,0 +1,222 @@
{
"type": "object",
"required": [
"header"
],
"additionalProperties": false,
"properties": {
"header": {
"type": "object",
"required": [
"version"
],
"additionalProperties": false,
"properties": {
"version": {
"oneOf": [
{
"type": "string",
"enum": [
"0.10"
]
},
{
"type": "integer"
}
]
},
"includes": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"required": [
"repo",
"file"
],
"additionalProperties": false,
"properties": {
"repo": {
"type": "string"
},
"file": {
"type": "string"
}
}
}
]
}
}
}
},
"build_system": {
"type": "string",
"enum": [
"openembedded",
"oe",
"isar"
]
},
"defaults": {
"type": "object",
"additionalProperties": false,
"properties": {
"repos": {
"type": "object",
"additionalProperties": false,
"properties": {
"refspec": {
"type": "string"
},
"patches": {
"type": "object",
"additionalProperties": false,
"properties": {
"repo": {
"type": "string"
}
}
}
}
}
}
},
"machine": {
"type": "string"
},
"distro": {
"type": "string"
},
"env": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"target": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"task": {
"type": "string"
},
"repos": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string"
},
"type": {
"type": "string"
},
"refspec": {
"type": "string"
},
"path": {
"type": "string"
},
"layers": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "integer"
},
{
"type": "boolean"
},
{
"type": "string"
}
]
}
},
"patches": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"required": [
"path"
],
"properties": {
"repo": {
"type": "string"
},
"path": {
"type": "string"
}
}
},
{
"type": "null"
}
]
}
}
}
},
{
"type": "null"
}
]
}
},
"bblayers_conf_header": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"local_conf_header": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"proxy_config": {
"type": "object",
"additionalProperties": false,
"properties": {
"http_proxy": {
"type": "string"
},
"https_proxy": {
"type": "string"
},
"ftp_proxy": {
"type": "string"
},
"no_proxy": {
"type": "string"
}
}
}
}
}