diff --git a/scripts/west_commands/create_board/ncs_create_board.py b/scripts/west_commands/create_board/ncs_create_board.py index 9e527c1664cd..f57e9d81cfba 100644 --- a/scripts/west_commands/create_board/ncs_create_board.py +++ b/scripts/west_commands/create_board/ncs_create_board.py @@ -4,10 +4,10 @@ from pathlib import Path import json import shutil +import sys from jinja2 import Environment, FileSystemLoader, TemplateNotFound from west.commands import WestCommand -from west import log from yaml import load import jsonschema @@ -16,6 +16,12 @@ except ImportError: from yaml import Loader +sys.path.append(str(Path(__file__).parents[1])) +import utils + + +utils.install_json_excepthook() + SCRIPT_DIR = Path(__file__).absolute().parent TEMPLATE_DIR = SCRIPT_DIR / "templates" @@ -67,7 +73,7 @@ def do_run(self, args, unknown_args): try: jsonschema.validate(input, schema) except jsonschema.ValidationError as e: - raise Exception("Board configuration is not valid") from e + raise ValueError("Board configuration is not valid") from e soc_parts = input["soc"].split("-") req_soc = soc_parts[0].lower() @@ -86,8 +92,7 @@ def do_run(self, args, unknown_args): break if not series: - log.err(f"Invalid/unsupported SoC: {req_soc}") - return + raise ValueError(f"Invalid/unsupported SoC: {req_soc}") targets = [] for variant in soc["variants"]: @@ -130,8 +135,7 @@ def do_run(self, args, unknown_args): break if not targets: - log.err(f"Invalid/unsupported variant: {req_variant}") - return + raise ValueError(f"Invalid/unsupported variant: {req_variant}") # prepare Jinja environment env = Environment(