diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2022-04-21 11:00:48 -0400 |
---|---|---|
committer | Eli Schwartz <eschwartz93@gmail.com> | 2022-04-21 14:18:29 -0400 |
commit | 3c8343b4837744ae7dc1ee21eeefb93cd044b611 (patch) | |
tree | a354996fb89c4bd105536f30b1215774396defcf /mesonbuild/optinterpreter.py | |
parent | 9528e7deb0e883efde90f7bca60277ad06d62d47 (diff) | |
download | meson-3c8343b4837744ae7dc1ee21eeefb93cd044b611.zip meson-3c8343b4837744ae7dc1ee21eeefb93cd044b611.tar.gz meson-3c8343b4837744ae7dc1ee21eeefb93cd044b611.tar.bz2 |
Allow deprecating an option for a new one
Diffstat (limited to 'mesonbuild/optinterpreter.py')
-rw-r--r-- | mesonbuild/optinterpreter.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/mesonbuild/optinterpreter.py b/mesonbuild/optinterpreter.py index eeb7cf8..549d564 100644 --- a/mesonbuild/optinterpreter.py +++ b/mesonbuild/optinterpreter.py @@ -32,7 +32,7 @@ if T.TYPE_CHECKING: 'value': object, 'min': T.Optional[int], 'max': T.Optional[int], - 'deprecated': T.Union[bool, T.Dict[str, str], T.List[str]], + 'deprecated': T.Union[bool, str, T.Dict[str, str], T.List[str]], }) ParserArgs = TypedDict('ParserArgs', { 'yield': bool, @@ -153,7 +153,7 @@ class OptionInterpreter: KwargInfo('value', object), KwargInfo('min', (int, type(None))), KwargInfo('max', (int, type(None))), - KwargInfo('deprecated', (bool, ContainerTypeInfo(dict, str), ContainerTypeInfo(list, str)), + KwargInfo('deprecated', (bool, str, ContainerTypeInfo(dict, str), ContainerTypeInfo(list, str)), default=False, since='0.60.0') ) @typed_pos_args('option', str) @@ -177,7 +177,8 @@ class OptionInterpreter: parser_kwargs = {k: v for k, v in kwargs.items() if k in known_parser_kwargs and v is not None} opt = parser(description, T.cast('ParserArgs', parser_kwargs)) opt.deprecated = kwargs['deprecated'] - + if isinstance(opt.deprecated, str): + FeatureNew.single_use('String value to "deprecated" keyword argument', '0.63.0', self.subproject) if key in self.options: mlog.deprecation(f'Option {opt_name} already exists.') self.options[key] = opt |