This is an automated email from the ASF dual-hosted git repository. tvb pushed a commit to branch valentindavid/flatpak-demo in repository https://gitbox.apache.org/repos/asf/buildstream.git
commit c31e5a10796a26aabe83b819b255688e56682c0a Author: Valentin David <[email protected]> AuthorDate: Wed Jun 27 17:06:36 2018 +0200 buildstream/_includes.py: Cache loaded fragments. --- buildstream/_includes.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/buildstream/_includes.py b/buildstream/_includes.py index 718cd82..eed73a0 100644 --- a/buildstream/_includes.py +++ b/buildstream/_includes.py @@ -8,6 +8,7 @@ class Includes: def __init__(self, loader, valid_keys=None): self._loader = loader self._valid_keys = valid_keys + self._loaded = {} def process(self, node): while True: @@ -35,7 +36,10 @@ class Includes: directory = junction_loader.project.directory else: directory = self._loader.project.directory - return _yaml.load(os.path.join(directory, include)) + file_path = os.path.join(directory, include) + if file_path not in self._loaded: + self._loaded[file_path] = _yaml.load(os.path.join(directory, include)) + return self._loaded[file_path] def _process_value(self, value): if isinstance(value, Mapping):
