diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2024-12-06 12:11:31 -0800 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-10-20 15:15:53 -0700 |
| commit | ae89ca1015fd1d8306bbb78c31f1bde53375a712 (patch) | |
| tree | e60d2a3987295c937cfd690f944183fcb293ceb3 | |
| parent | 8c7f8d9dc2887b165d469a2362935f27aae44ac1 (diff) | |
| download | meson-ae89ca1015fd1d8306bbb78c31f1bde53375a712.tar.gz | |
interpreter: port dependency(allow_fallback) to typed_kwargs
| -rw-r--r-- | mesonbuild/interpreter/interpreter.py | 6 | ||||
| -rw-r--r-- | mesonbuild/interpreter/kwargs.py | 1 | ||||
| -rw-r--r-- | mesonbuild/interpreter/type_checking.py | 1 |
3 files changed, 3 insertions, 5 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 861059f83..0f6114199 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -1789,7 +1789,6 @@ class Interpreter(InterpreterBase, HoldableObject): # When adding kwargs, please check if they make sense in dependencies.get_dep_identifier() @FeatureNewKwargs('dependency', '0.57.0', ['cmake_package_version']) - @FeatureNewKwargs('dependency', '0.56.0', ['allow_fallback']) @FeatureNewKwargs('dependency', '0.54.0', ['components']) @FeatureNewKwargs('dependency', '0.52.0', ['include_type']) @FeatureNewKwargs('dependency', '0.50.0', ['not_found_message', 'cmake_module_path', 'cmake_args']) @@ -1804,12 +1803,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) - allow_fallback = kwargs.get('allow_fallback') - if allow_fallback is not None and not isinstance(allow_fallback, bool): - raise InvalidArguments('"allow_fallback" argument must be boolean') fallback = kwargs.get('fallback') default_options = kwargs.get('default_options') - df = DependencyFallbacksHolder(self, names, allow_fallback, default_options) + df = DependencyFallbacksHolder(self, names, kwargs['allow_fallback'], default_options) df.set_fallback(fallback) not_found_message = kwargs.get('not_found_message', '') if not isinstance(not_found_message, str): diff --git a/mesonbuild/interpreter/kwargs.py b/mesonbuild/interpreter/kwargs.py index fe45f3b2b..481c126f4 100644 --- a/mesonbuild/interpreter/kwargs.py +++ b/mesonbuild/interpreter/kwargs.py @@ -494,3 +494,4 @@ class FuncDeclareDependency(TypedDict): class FuncDependency(TypedDict): default_options: T.Dict[OptionKey, options.ElementaryOptionValues] + allow_fallback: T.Optional[bool] diff --git a/mesonbuild/interpreter/type_checking.py b/mesonbuild/interpreter/type_checking.py index 946635374..4f8e04fe1 100644 --- a/mesonbuild/interpreter/type_checking.py +++ b/mesonbuild/interpreter/type_checking.py @@ -898,4 +898,5 @@ PKGCONFIG_DEFINE_KW: KwargInfo = KwargInfo( DEPENDENCY_KWS: T.List[KwargInfo] = [ DEFAULT_OPTIONS.evolve(since='0.38.0'), + KwargInfo('allow_fallback', (bool, NoneType), since='0.56.0'), ] |
