PTU5KAS/kas
Felix Moessbauer 5b3e238128 add plugin to dump flattened config
This patch adds a new plugin 'dump' which resolves all kas config
includes and combines them in a single file. The format of the output
file can either be JSON or YAML. In case of YAML, the generated config
fulfills the kas-config schema and can be used as input to kas again.
In addition, the generated files can be used by external tools to
analyse the dependencies and versions of the project.

While the generated configuration is semantically identical to the
input config, we do not guarantee binary compatibility as especially
YAML provides multiple ways to serialize strings and null values.
Not giving this guarantee makes it easier to evolve and maintain the plugin.

The plugin itself extends the checkout plugin, as referenced repos have
to be checked-out first to resolve cross-repo references. This also
requires, that the declared refspec of all referenced repos can actually
be found and checked out.

Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2022-12-13 14:38:41 +01:00
..
plugins add plugin to dump flattened config 2022-12-13 14:38:41 +01:00
__init__.py __init__: Better support introspection 2018-12-07 09:56:09 +01:00
__main__.py Drop unnecessary shebang lines 2021-08-30 21:56:49 +02:00
__version__.py add conditional environment variables 2022-11-10 19:03:48 +01:00
config.py config: Symplify .config.yaml file handling 2022-08-03 13:00:55 +02:00
configschema.py yml: Move json schema from python dict to standalone json file 2021-10-05 10:28:24 +02:00
context.py forward build-concurrency related env vars 2022-10-19 11:02:17 +02:00
includehandler.py includehandler: Simplify code 2021-10-01 11:16:28 +02:00
kas.py plugins: Invoke setup_parser_common_args explicitly from setup_parser 2021-10-09 15:00:05 +02:00
libcmds.py libcmds: Remove protected accesses to Config 2022-07-12 09:21:07 +02:00
libkas.py libkas: Fix typo 2022-11-11 13:36:12 +01:00
repos.py repos: add --whitespace=nowarn to git apply command 2022-05-16 09:12:48 +02:00
schema-kas.json add conditional environment variables 2022-11-10 19:03:48 +01:00