spack/lib/spack
Harmen Stoppels 88b47d2714 spack_yaml: add anchorify function (#44995)
This adds spack.util.spack_yaml.anchorify, which takes a non-cyclic
dict/list structure, and replaces identical values with (back)
references to the first instance, so that yaml serialization will use
anchors.

`repr` is used to identify sub-dags, which in principle is quadratic
complexity in depth of the graph, but in practice the depth is O(1) so
this should not matter.

Then this is used in CI to reduce the size of generated YAML files to
30% of their original size.
2024-11-18 12:47:11 +01:00
..
docs packaging_guide.rst: explain forward and backward compat before the less common cases (#47402) 2024-11-18 12:47:11 +01:00
env ldflags=* are compiler flags, not linker flags (#43820) 2024-04-26 09:19:03 +02:00
external archspec: update to v0.2.5 (#46958) 2024-11-18 12:47:11 +01:00
llnl ensure write_fd.close() isn't called when sys.std* cannot be redirected 2024-11-18 12:47:11 +01:00
spack spack_yaml: add anchorify function (#44995) 2024-11-18 12:47:11 +01:00
spack_installable Update copyright year to 2024 (#41919) 2024-01-02 09:21:30 +01:00