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:
parent
6630780935
commit
460699685e
@ -26,210 +26,10 @@
|
|||||||
__license__ = 'MIT'
|
__license__ = 'MIT'
|
||||||
__copyright__ = 'Copyright (c) Siemens AG, 2017-2018'
|
__copyright__ = 'Copyright (c) Siemens AG, 2017-2018'
|
||||||
|
|
||||||
CONFIGSCHEMA = {
|
import json
|
||||||
'type': 'object',
|
import os
|
||||||
'required': ['header'],
|
|
||||||
'additionalProperties': False,
|
cwd = os.path.dirname(os.path.realpath(__file__))
|
||||||
'properties': {
|
|
||||||
'header': {
|
with open(os.path.join(cwd, 'schema-kas.json'), 'r') as f:
|
||||||
'type': 'object',
|
CONFIGSCHEMA = json.load(f)
|
||||||
'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',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
222
kas/schema-kas.json
Normal file
222
kas/schema-kas.json
Normal 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user