diff options
author | Oliver Reiche <oliver.reiche@huawei.com> | 2022-10-13 15:59:25 +0200 |
---|---|---|
committer | Sascha Roloff <sascha.roloff@huawei.com> | 2022-10-18 12:00:32 +0200 |
commit | 2cfab6bdf859695b934187b6d847329895ecd324 (patch) | |
tree | 6872af5e4370d7c0c79778aa7020b671e23a8dfd /src/buildtool/execution_api/local/file_storage.hpp | |
parent | d22adef666d704680ee74b35a46d530f6b6d5f15 (diff) | |
download | justbuild-2cfab6bdf859695b934187b6d847329895ecd324.tar.gz |
TargetResult: Serialise inner TargetResults flat
Before this change, TargetResults that appear inside of
other TargetResults (typically via value nodes) were
serialised via the top-level serialisation function for
TargetResults. While technically correct, it is rather
inefficient as identical expressions from outer and inner
TargetResults are not properly deduplicated and a deeply
nested data structure is maintained.
With this change, expressions of inner TargetResults are
serialised in the context of outer TargetResults, resulting
in a flat list of all transitively contained expressions
with proper deduplication applied.
As this serialisation of TargetResult is used in
target-level cache entries, the new format is a breaking
change to existing entries. Therefore, after switching to
the new serialisation format introduced by this commit,
users are required to clean their target-level cache.
This also reverts commit d22adef666d704680ee74b35a46d530f6b6d5f15,
"Recursively scan provided results for known artifacts".
Diffstat (limited to 'src/buildtool/execution_api/local/file_storage.hpp')
0 files changed, 0 insertions, 0 deletions