From 265ac4cd21823b76c563ecf6a7868fb7ade51f1f Mon Sep 17 00:00:00 2001 From: Frederic Pillon Date: Tue, 2 Jul 2024 10:25:41 +0200 Subject: [PATCH] fix(arduino-cli): support 1.x version Some data format have changed. Signed-off-by: Frederic Pillon --- CI/build/arduino-cli.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/CI/build/arduino-cli.py b/CI/build/arduino-cli.py index d4ec5797bc..05e98f48f4 100644 --- a/CI/build/arduino-cli.py +++ b/CI/build/arduino-cli.py @@ -297,6 +297,12 @@ def check_config(): else: cli_config = json.loads(output) if cli_config is not None: + # Since arduino-cli 1.x new level "config" + if not arduino_cli_ver.startswith("0."): + print(cli_config) + cli_config_tmp = cli_config["config"] + cli_config = cli_config_tmp + print(cli_config) if cli_config["directories"]["data"] is not None: sketches_path_list.append(Path(cli_config["directories"]["data"])) else: @@ -526,7 +532,12 @@ def find_board(): print(e.stdout.decode("utf-8")) quit(e.returncode) else: - fqbn_list_tmp = [board["fqbn"] for board in json.loads(output)] + boards = json.loads(output) + # Since arduino-cli 1.x new level "boards" and is a dict + if not arduino_cli_ver.startswith("0."): + print(boards) + boards = boards["boards"] + fqbn_list_tmp = [board["fqbn"] for board in boards] if not len(fqbn_list_tmp): print(f"No boards found for {arduino_platform}") quit(1)