spack/lib/spack/llnl/util
Todd Gamblin 8e8235043d package_prefs: move class-level cache to PackagePref instance
`PackagePrefs` has had a class-level cache of data from `packages.yaml` for
a long time, but it complicates testing and leads to subtle errors,
especially now that we frequently manipulate custom config scopes and
environments.

Moving the cache to instance-level doesn't slow down concretization or
the test suite, and it just caches for the life of a `PackagePrefs`
instance (i.e., for a single cocncretization) so we don't need to worry
about global state anymore.

- [x] Remove class-level caches from `PackagePrefs`
- [x] Add a cached _spec_order object on each `PackagePrefs` instance
- [x] Remove all calls to `PackagePrefs.clear_caches()`
2019-12-30 13:01:31 -08:00
..
cpu tests: check min required python version with vermin (#14289) 2019-12-24 09:28:33 -08:00
tty bugfix: colify_table should not revert to 1 column for non-tty (#14307) 2019-12-28 11:26:31 -08:00
__init__.py copyright: update license headers for 2013-2019 copyright. 2019-01-01 00:44:28 -08:00
argparsewriter.py Fix argparse rST parsing of help messages (#14014) 2019-12-17 10:23:22 -08:00
filesystem.py performance: reduce system calls required for remove_dead_links 2019-12-23 18:36:56 -08:00
lang.py package_prefs: move class-level cache to PackagePref instance 2019-12-30 13:01:31 -08:00
link_tree.py link_tree: add option to merge link trees with relative targets 2019-05-26 18:23:44 -07:00
lock.py lock transactions: avoid redundant reading in write transactions 2019-12-23 18:36:56 -08:00
multiproc.py Compiler search uses a pool of workers (#10190) 2019-06-07 09:57:26 -07:00