diff options
| author | Xavier Claessens <xavier.claessens@collabora.com> | 2022-11-05 10:30:10 -0400 |
|---|---|---|
| committer | Xavier Claessens <xavier.claessens@collabora.com> | 2022-12-07 11:58:35 -0500 |
| commit | b926374205bd761085031755c87152d08bc10e9d (patch) | |
| tree | 6e3f230ffc1540514c9aa9534a855badd705b21c /mesonbuild/utils | |
| parent | bc2f1fb2f3e4e3601a262facc16313e1852926f0 (diff) | |
| download | meson-b926374205bd761085031755c87152d08bc10e9d.tar.gz | |
devenv: Do not include system values in --dump
This makes --dump print variables like `FOO=/path:$FOO:/another/path`.
Diffstat (limited to 'mesonbuild/utils')
| -rw-r--r-- | mesonbuild/utils/core.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/mesonbuild/utils/core.py b/mesonbuild/utils/core.py index ed413cace..5450cdc29 100644 --- a/mesonbuild/utils/core.py +++ b/mesonbuild/utils/core.py @@ -119,23 +119,24 @@ class EnvironmentVariables(HoldableObject): self.envvars.append((self._prepend, name, values, separator)) @staticmethod - def _set(env: T.Dict[str, str], name: str, values: T.List[str], separator: str) -> str: + def _set(env: T.Dict[str, str], name: str, values: T.List[str], separator: str, default_value: T.Optional[str]) -> str: return separator.join(values) @staticmethod - def _append(env: T.Dict[str, str], name: str, values: T.List[str], separator: str) -> str: - curr = env.get(name) + def _append(env: T.Dict[str, str], name: str, values: T.List[str], separator: str, default_value: T.Optional[str]) -> str: + curr = env.get(name, default_value) return separator.join(values if curr is None else [curr] + values) @staticmethod - def _prepend(env: T.Dict[str, str], name: str, values: T.List[str], separator: str) -> str: - curr = env.get(name) + def _prepend(env: T.Dict[str, str], name: str, values: T.List[str], separator: str, default_value: T.Optional[str]) -> str: + curr = env.get(name, default_value) return separator.join(values if curr is None else values + [curr]) - def get_env(self, full_env: T.MutableMapping[str, str]) -> T.Dict[str, str]: + def get_env(self, full_env: T.MutableMapping[str, str], dump: bool = False) -> T.Dict[str, str]: env = full_env.copy() for method, name, values, separator in self.envvars: - env[name] = method(env, name, values, separator) + default_value = f'${name}' if dump else None + env[name] = method(env, name, values, separator, default_value) return env |
