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'
|
||||
__copyright__ = 'Copyright (c) Siemens AG, 2017-2018'
|
||||
|
||||
CONFIGSCHEMA = {
|
||||
'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',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
import json
|
||||
import os
|
||||
|
||||
cwd = os.path.dirname(os.path.realpath(__file__))
|
||||
|
||||
with open(os.path.join(cwd, 'schema-kas.json'), 'r') as f:
|
||||
CONFIGSCHEMA = json.load(f)
|
||||
|
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