diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2024-12-06 12:31:23 -0800 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-10-20 15:15:53 -0700 |
| commit | a9c157b7c30534a47ae2963e542fc60a80d61584 (patch) | |
| tree | 38058b6dae58890412405ed317fe39e2b19fdd35 | |
| parent | 69da2bedefe13497d0e0181584d2dc4b163e8620 (diff) | |
| download | meson-a9c157b7c30534a47ae2963e542fc60a80d61584.tar.gz | |
interpreter: port dependency fallback to typed_kwargs
| -rw-r--r-- | mesonbuild/interpreter/interpreter.py | 3 | ||||
| -rw-r--r-- | mesonbuild/interpreter/kwargs.py | 3 | ||||
| -rw-r--r-- | mesonbuild/interpreter/type_checking.py | 1 |
3 files changed, 4 insertions, 3 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index bd93bc426..648278426 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -1801,10 +1801,9 @@ class Interpreter(InterpreterBase, HoldableObject): names = [n for n in args[0] if n] if len(names) > 1: FeatureNew('dependency with more than one name', '0.60.0').use(self.subproject) - fallback = kwargs.get('fallback') default_options = kwargs.get('default_options') df = DependencyFallbacksHolder(self, names, kwargs['allow_fallback'], default_options) - df.set_fallback(fallback) + df.set_fallback(kwargs['fallback']) not_found_message = kwargs.get('not_found_message', '') if not isinstance(not_found_message, str): raise InvalidArguments('The not_found_message must be a string.') diff --git a/mesonbuild/interpreter/kwargs.py b/mesonbuild/interpreter/kwargs.py index d14b42d04..6b4ca2d3a 100644 --- a/mesonbuild/interpreter/kwargs.py +++ b/mesonbuild/interpreter/kwargs.py @@ -493,9 +493,10 @@ class FuncDeclareDependency(TypedDict): class FuncDependency(TypedDict): - default_options: T.Dict[OptionKey, options.ElementaryOptionValues] allow_fallback: T.Optional[bool] cmake_args: T.List[str] cmake_module_path: T.List[str] cmake_package_version: str components: T.List[str] + default_options: T.Dict[OptionKey, options.ElementaryOptionValues] + fallback: T.Union[str, T.List[str], None] diff --git a/mesonbuild/interpreter/type_checking.py b/mesonbuild/interpreter/type_checking.py index f9462e9d6..9e61a9698 100644 --- a/mesonbuild/interpreter/type_checking.py +++ b/mesonbuild/interpreter/type_checking.py @@ -903,4 +903,5 @@ DEPENDENCY_KWS: T.List[KwargInfo] = [ KwargInfo('cmake_module_path', ContainerTypeInfo(list, str), listify=True, default=[], since='0.50.0'), KwargInfo('cmake_package_version', str, default='', since='0.57.0'), KwargInfo('components', ContainerTypeInfo(list, str), listify=True, default=[], since='0.54.0'), + KwargInfo('fallback', (ContainerTypeInfo(list, str), str, NoneType), since='0.54.0'), ] |
