From d854b2e99cfd553d7858df6628e78ba737421323 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Fri, 6 Dec 2024 12:01:59 -0800 Subject: [PATCH] interpreter: fix type issues with vcs_tag updates The annotations weren't updated to reflect the changes. --- mesonbuild/interpreter/interpreter.py | 6 ++++-- mesonbuild/interpreter/kwargs.py | 6 +++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 10ca3e6bb2e8..d717485e8a1e 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -110,6 +110,8 @@ import copy if T.TYPE_CHECKING: + from typing_extensions import Literal + from . import kwargs as kwtypes from ..backend.backends import Backend from ..interpreterbase.baseobjects import InterpreterObject, TYPE_var, TYPE_kwargs @@ -1986,8 +1988,8 @@ def func_vcs_tag(self, node: mparser.BaseNode, args: T.List['TYPE_var'], kwargs: install = kwargs['install'] install_mode = self._warn_kwarg_install_mode_sticky(kwargs['install_mode']) - install_dir = [] if kwargs['install_dir'] is None else [kwargs['install_dir']] - install_tag = [] if kwargs['install_tag'] is None else [kwargs['install_tag']] + install_dir: T.List[T.Union[str, Literal[False]]] = [] if kwargs['install_dir'] is None else [kwargs['install_dir']] + install_tag: T.List[T.Optional[str]] = [] if kwargs['install_tag'] is None else [kwargs['install_tag']] if install and not install_dir: raise InvalidArguments('vcs_tag: "install_dir" keyword argument must be set when "install" is true.') diff --git a/mesonbuild/interpreter/kwargs.py b/mesonbuild/interpreter/kwargs.py index ae4866a88ad8..87f121e90b0f 100644 --- a/mesonbuild/interpreter/kwargs.py +++ b/mesonbuild/interpreter/kwargs.py @@ -1,6 +1,6 @@ # SPDX-License-Identifier: Apache-2.0 # Copyright © 2021 The Meson Developers -# Copyright © 2021 Intel Corporation +# Copyright © 2021-2024 Intel Corporation from __future__ import annotations """Keyword Argument type annotations.""" @@ -286,6 +286,10 @@ class VcsTag(TypedDict): build.ExtractedObjects, build.GeneratedList, ExternalProgram, File]] output: T.List[str] replace_string: str + install: bool + install_tag: T.Optional[str] + install_dir: T.Optional[str] + install_mode: FileMode class ConfigureFile(TypedDict):