spack/lib/spack
Harmen Stoppels 2e8b4e660e
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-07-02 14:00:19 +02:00
..
docs Docs: include cmake spec property for the command (#44956) 2024-07-01 10:28:26 -07:00
env ldflags=* are compiler flags, not linker flags (#43820) 2024-04-26 09:19:03 +02:00
external Update vendored archspec to v0.2.4 (#44005) 2024-05-06 10:20:56 +02:00
llnl Fix bug in logfile parsing (#42706) 2024-06-27 07:07:30 -06:00
spack spack_yaml: add anchorify function (#44995) 2024-07-02 14:00:19 +02:00
spack_installable Update copyright year to 2024 (#41919) 2024-01-02 09:21:30 +01:00