diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2021-08-31 20:32:35 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-31 20:32:35 +0300 |
commit | 9e61b4fe99fad66c9dc7484ab62c34a75dec5b60 (patch) | |
tree | a7930ad46a3c165535e43e15f309513cc0e5dec2 /mesonbuild/interpreter/mesonmain.py | |
parent | 82ba2f1e0532686dd7408ea782181b172a291316 (diff) | |
parent | 81f5cee2188dcbd6b92e6b570c2c98961588a17a (diff) | |
download | meson-9e61b4fe99fad66c9dc7484ab62c34a75dec5b60.zip meson-9e61b4fe99fad66c9dc7484ab62c34a75dec5b60.tar.gz meson-9e61b4fe99fad66c9dc7484ab62c34a75dec5b60.tar.bz2 |
Merge pull request #9185 from dcbaker/submit/env-object-as-holder
Make EnvironmentVariablesObject a holder
Diffstat (limited to 'mesonbuild/interpreter/mesonmain.py')
-rw-r--r-- | mesonbuild/interpreter/mesonmain.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/mesonbuild/interpreter/mesonmain.py b/mesonbuild/interpreter/mesonmain.py index 5355c47..9c4f50a 100644 --- a/mesonbuild/interpreter/mesonmain.py +++ b/mesonbuild/interpreter/mesonmain.py @@ -7,13 +7,13 @@ from .. import mlog from ..mesonlib import MachineChoice, OptionKey from ..programs import OverrideProgram, ExternalProgram +from ..interpreter.type_checking import ENV_KW from ..interpreterbase import (MesonInterpreterObject, FeatureNew, FeatureDeprecated, typed_pos_args, permittedKwargs, noArgsFlattening, noPosargs, noKwargs, typed_kwargs, KwargInfo, MesonVersionString, InterpreterException) from .interpreterobjects import (ExecutableHolder, ExternalProgramHolder, - CustomTargetHolder, CustomTargetIndexHolder, - EnvironmentVariablesObject) + CustomTargetHolder, CustomTargetIndexHolder) from .type_checking import NATIVE_KW, NoneType import typing as T @@ -415,9 +415,10 @@ class MesonMain(MesonInterpreterObject): @FeatureNew('add_devenv', '0.58.0') @noKwargs - @typed_pos_args('add_devenv', (str, list, dict, EnvironmentVariablesObject)) - def add_devenv_method(self, args: T.Union[str, list, dict, EnvironmentVariablesObject], kwargs: T.Dict[str, T.Any]) -> None: + @typed_pos_args('add_devenv', (str, list, dict, build.EnvironmentVariables)) + def add_devenv_method(self, args: T.Tuple[T.Union[str, list, dict, build.EnvironmentVariables]], kwargs: T.Dict[str, T.Any]) -> None: env = args[0] - if isinstance(env, (str, list, dict)): - env = EnvironmentVariablesObject(env) - self.build.devenv.append(env.vars) + msg = ENV_KW.validator(env) + if msg: + raise build.InvalidArguments(f'"add_devenv": {msg}') + self.build.devenv.append(ENV_KW.convertor(env)) |