abcxyz / abc

Apache License 2.0
12 stars 3 forks source link

Add `crawlManifests()` and `depGraph()` #579

Closed drevell closed 5 months ago

drevell commented 5 months ago

This is one chunk of the "upgrade all" feature that upgrades every template installation underneath a given directory. It's broken up to avoid an oversized PR.

This logic is about crawling manifest files and using them to infer dependencies between template installations. This is needed for the case where a template T1 outputs another template T2. When upgrading, we want to upgrade all usages of T1 before T2, because the upgrade of T1 may alter the template definition T2.