diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2018-07-18 22:47:58 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-07-18 22:52:22 +0300 |
commit | e3b0145e73b266a7fc3c1e5a494dbdd9cc1f0114 (patch) | |
tree | 49fdabd2e89638a1bdab95f3d5f1a426cc536fd6 /mesonbuild/backend/backends.py | |
parent | efba19387292054b0c9c72d9e445992a4e3e473c (diff) | |
download | meson-builddirupgrade.tar.gz |
Can upgrade build directory from an old version.builddirupgrade
Diffstat (limited to 'mesonbuild/backend/backends.py')
-rw-r--r-- | mesonbuild/backend/backends.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index 354d25a79..e9012e572 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -24,6 +24,7 @@ from ..mesonlib import MesonException, OrderedSet from ..mesonlib import classify_unity_sources from ..mesonlib import File from ..compilers import CompilerArgs +from ..mupgrade import create_dump_dict from collections import OrderedDict import shlex @@ -120,6 +121,7 @@ class OptionOverrideProxy: # This class contains the basic functionality that is needed by all backends. # Feel free to move stuff in and out of it as you see fit. class Backend: + def __init__(self, build): self.build = build self.environment = build.environment @@ -922,3 +924,11 @@ class Backend: for s in self.build.postconf_scripts: cmd = s['exe'] + s['args'] subprocess.check_call(cmd, env=child_env) + + def dump_state_file(self): + import json + build_dir = self.environment.get_build_dir() + dumpfile = os.path.join(build_dir, 'meson-private', 'upgrade-state.json') + s = create_dump_dict(self.environment, self.build) + with open(dumpfile, 'w') as f: + json.dump(s, f) |