From bab2ee960024187a7f3d3d86df04e26a6086a28e Mon Sep 17 00:00:00 2001 From: Jakub Kocka Date: Fri, 18 Jul 2025 11:17:15 +0200 Subject: [PATCH 1/2] fix(tools): Avoided using the click's deprecated __version__ --- tools/export_utils/shell_types.py | 4 ++-- tools/legacy_exports/export_legacy.fish | 2 +- tools/legacy_exports/export_legacy.sh | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/export_utils/shell_types.py b/tools/export_utils/shell_types.py index 112ede5755..c96a6d7994 100644 --- a/tools/export_utils/shell_types.py +++ b/tools/export_utils/shell_types.py @@ -9,6 +9,7 @@ import sys import textwrap from datetime import datetime from datetime import timedelta +from importlib.metadata import version as importlib_version from pathlib import Path from subprocess import run from tempfile import gettempdir @@ -19,7 +20,6 @@ from typing import List from typing import TextIO from typing import Union -import click from console_output import debug from console_output import status_message from console_output import warn @@ -118,7 +118,7 @@ class UnixShell(Shell): print(f'. {self.script_file_path}') def click_ver(self) -> int: - return int(click.__version__.split('.')[0]) + return int(importlib_version('click').split('.')[0]) class BashShell(UnixShell): diff --git a/tools/legacy_exports/export_legacy.fish b/tools/legacy_exports/export_legacy.fish index dee51f5c2a..cf30dd6ef9 100644 --- a/tools/legacy_exports/export_legacy.fish +++ b/tools/legacy_exports/export_legacy.fish @@ -101,7 +101,7 @@ end __main -set click_version (python -c 'import click; print(click.__version__.split(".")[0])') +set click_version (python -c 'from importlib.metadata import version as importlib_version; print(importlib_version('click').split(".")[0])') if test $click_version -lt 8 eval (env _IDF.PY_COMPLETE=source_fish idf.py) else diff --git a/tools/legacy_exports/export_legacy.sh b/tools/legacy_exports/export_legacy.sh index 9ad0f7ff50..7c0fc14b4d 100644 --- a/tools/legacy_exports/export_legacy.sh +++ b/tools/legacy_exports/export_legacy.sh @@ -209,7 +209,7 @@ __cleanup() { __enable_autocomplete() { - click_version="$(python -c 'import click; print(click.__version__.split(".")[0])')" + click_version="$(python -c 'from importlib.metadata import version as importlib_version; print(importlib_version('click').split(".")[0])')" if [ "${click_version}" -lt 8 ] then SOURCE_ZSH=source_zsh From 2807696eb97dcf22a92277695e8a0eebfcb936d0 Mon Sep 17 00:00:00 2001 From: Jakub Kocka Date: Wed, 23 Jul 2025 09:46:58 +0200 Subject: [PATCH 2/2] fix(tools): Fixed click function usage to solve deprecation issue --- tools/idf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/idf.py b/tools/idf.py index 44a6994d6e..1e721cb9a3 100755 --- a/tools/idf.py +++ b/tools/idf.py @@ -365,7 +365,7 @@ def init_cli(verbose_output: Optional[List]=None) -> Any: return super(Option, self).get_help_record(ctx) - class CLI(click.MultiCommand): + class CLI(click.Group): """Action list contains all actions with options available for CLI""" def __init__(self, all_actions: Optional[Dict]=None, verbose_output: Optional[List]=None, help: Optional[str]=None) -> None: super(CLI, self).__init__(