bb48adad1f
This allows to clearly express if a refspec is a commit ID or a branch/symbolic reference. Mixing repos with old refspec with repos that uses new commit/branch is supported, but not mixing the keys in the same repo. This commit lays the ground by extending the schema and ensuring that the code which at minimum needs to know about these new keys does so. Existing tests still pass, new ones will follow. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
290 lines
9.5 KiB
JSON
290 lines
9.5 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
"$id": "https://github.com/siemens/kas/blob/master/kas/schema-kas.json",
|
|
"title": "kas configuration",
|
|
"description": "kas, a setup tool for bitbake based projects",
|
|
"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": {
|
|
"branch": {
|
|
"type": "string"
|
|
},
|
|
"refspec": {
|
|
"type": "string"
|
|
},
|
|
"patches": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"repo": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"overrides": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"repos": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"refspec" : {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"machine": {
|
|
"type": "string"
|
|
},
|
|
"distro": {
|
|
"type": "string"
|
|
},
|
|
"env": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": ["string", "null"]
|
|
}
|
|
},
|
|
"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": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"commit": {
|
|
"type": "string"
|
|
},
|
|
"branch": {
|
|
"type": "string"
|
|
},
|
|
"refspec": {
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
},
|
|
"menu_configuration": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "integer"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_source_dir": {
|
|
"type": "string"
|
|
},
|
|
"_source_dir_host": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|