From 9cff2bbdc03c344dc477602e75ab2259e6117a25 Mon Sep 17 00:00:00 2001 From: Junjie Mao Date: Wed, 6 Jan 2021 10:12:45 +0800 Subject: [PATCH] acrn-config: add a script to generate config sources from XMLs In order for a unified interface for generating configuration sources from board and scenario XMLs, this patch introduces a script named genconf.sh which takes XML files as inputs and generate sources under the specified directory. Once used in Makefiles, this script helps to minimize the impacts on the Makefiles when we refine the configuration source generation process in the future. This patch also adds a non-zero return value to board_cfg_gen.py and scenario_cfg_gen.py so that we do not need to inspect the logs to determine if the generation succeeds. Tracked-On: #5644 Signed-off-by: Junjie Mao --- hypervisor/scripts/genconf.sh | 17 +++++++++++++++++ misc/acrn-config/board_config/board_cfg_gen.py | 1 + .../scenario_config/scenario_cfg_gen.py | 2 +- 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 hypervisor/scripts/genconf.sh diff --git a/hypervisor/scripts/genconf.sh b/hypervisor/scripts/genconf.sh new file mode 100644 index 000000000..c8f089892 --- /dev/null +++ b/hypervisor/scripts/genconf.sh @@ -0,0 +1,17 @@ +#!/bin/sh +# Copyright (C) 2021 Intel Corporation. +# SPDX-License-Identifier: BSD-3-Clause + +base_dir=$1 +board_xml=$2 +scenario_xml=$3 +out=$4 + +tool_dir=${base_dir}/../misc/acrn-config + +python3 ${tool_dir}/board_config/board_cfg_gen.py --board ${board_xml} --scenario ${scenario_xml} --out ${out} && +python3 ${tool_dir}/scenario_config/scenario_cfg_gen.py --board ${board_xml} --scenario ${scenario_xml} --out ${out} + +if [ $? -ne 0 ]; then + exit $? +fi diff --git a/misc/acrn-config/board_config/board_cfg_gen.py b/misc/acrn-config/board_config/board_cfg_gen.py index 56337c177..8d18f01f9 100755 --- a/misc/acrn-config/board_config/board_cfg_gen.py +++ b/misc/acrn-config/board_config/board_cfg_gen.py @@ -145,3 +145,4 @@ if __name__ == '__main__': if err_dic: for err_k, err_v in err_dic.items(): common.print_red("{}: {}".format(err_k, err_v), err=True) + sys.exit(1 if err_dic else 0) diff --git a/misc/acrn-config/scenario_config/scenario_cfg_gen.py b/misc/acrn-config/scenario_config/scenario_cfg_gen.py index 35672a160..4328a6719 100755 --- a/misc/acrn-config/scenario_config/scenario_cfg_gen.py +++ b/misc/acrn-config/scenario_config/scenario_cfg_gen.py @@ -245,4 +245,4 @@ if __name__ == '__main__': if err_dic: for err_k, err_v in err_dic.items(): common.print_red("{}: {}".format(err_k, err_v), err=True) - + sys.exit(1 if err_dic else 0)