44from pathlib import Path
55import json
66import shutil
7+ import sys
78
89from jinja2 import Environment , FileSystemLoader , TemplateNotFound
910from west .commands import WestCommand
10- from west import log
1111from yaml import load
1212import jsonschema
1313
1616except ImportError :
1717 from yaml import Loader
1818
19+ sys .path .append (str (Path (__file__ ).parents [1 ]))
20+ import utils
21+
22+
23+ utils .install_json_excepthook ()
24+
1925
2026SCRIPT_DIR = Path (__file__ ).absolute ().parent
2127TEMPLATE_DIR = SCRIPT_DIR / "templates"
@@ -67,7 +73,7 @@ def do_run(self, args, unknown_args):
6773 try :
6874 jsonschema .validate (input , schema )
6975 except jsonschema .ValidationError as e :
70- raise Exception ("Board configuration is not valid" ) from e
76+ raise ValueError ("Board configuration is not valid" ) from e
7177
7278 soc_parts = input ["soc" ].split ("-" )
7379 req_soc = soc_parts [0 ].lower ()
@@ -86,8 +92,7 @@ def do_run(self, args, unknown_args):
8692 break
8793
8894 if not series :
89- log .err (f"Invalid/unsupported SoC: { req_soc } " )
90- return
95+ raise ValueError (f"Invalid/unsupported SoC: { req_soc } " )
9196
9297 targets = []
9398 for variant in soc ["variants" ]:
@@ -130,8 +135,7 @@ def do_run(self, args, unknown_args):
130135 break
131136
132137 if not targets :
133- log .err (f"Invalid/unsupported variant: { req_variant } " )
134- return
138+ raise ValueError (f"Invalid/unsupported variant: { req_variant } " )
135139
136140 # prepare Jinja environment
137141 env = Environment (
0 commit comments