76db0706f3
This patch adds a new top-level schema node `_source_dir` which is used to track the top repo dir on auto-generated kas files. This node is generated by the kas menu plugin and provides the absolute path to the top repo dir at time of invoking the plugin. When later calling any other kas operation that performs a checkout, this node is evaluated and the top repo dir is set accordingly. This tracking is required when the build command is executed from another dir than the top repo dir, as the repo-dir cannot be computed by kas in this case (the .config.yaml file is in the KAS_WORK_DIR, not in the repo dir). Proposed-by: Peter Hoyes <Peter.Hoyes@arm.com> Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> [Jan: aligned format-changelog text, simplified load_config returning] Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
278 lines
9.1 KiB
JSON
278 lines
9.1 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": {
|
|
"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"
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
}
|