spack/lib/spack/docs
Massimiliano Culpo dbd531112c
Assign priorities to configuration scopes (take 2) (#49187)
Currently, the custom config scopes are pushed at the top when constructing
configuration, and are demoted whenever a context manager activating an
environment is used - see #48414 for details. Workflows that rely on the order
in the [docs](https://spack.readthedocs.io/en/latest/configuration.html#custom-scopes)
are thus fragile, and may break

This PR allows to assign priorities to scopes, and ensures that scopes of lower priorities
are always "below" scopes of higher priorities. When scopes have the same priority,
what matters is the insertion order.

Modifications:
- [x] Add a mapping that iterates over keys according to priorities set when
      adding the key/value pair
- [x] Use that mapping to allow assigning priorities to configuration scopes
- [x] Assign different priorities for different kind of scopes, to fix a bug, and
      add a regression test
- [x] Simplify `Configuration` constructor
- [x] Remove `Configuration.pop_scope`

---------

Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-26 10:52:19 -08:00
..
_gh_pages_redirect Use https for links (#19244) 2020-10-09 11:24:09 -05:00
_pygments Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
_static make empty _static directory "exist" to git 2014-01-09 14:03:32 +01:00
_templates docs: re-enable google analytics (#43974) 2024-05-02 21:56:19 -04:00
build_systems Docs/bugfix: correct return for Adding flags to configure (#48434) 2025-01-29 13:04:22 -08:00
example_files Implement an optional compiler bootstrapping phase 2019-09-13 22:57:15 -07:00
images Update release documentation (#46991) 2024-10-16 09:11:53 +02:00
tables build caches: collect files to relocate while tarballing w/o file (#48212) 2024-12-24 10:53:13 -07:00
.gitignore docs: Replace package list with packages.spack.io (#40251) 2023-10-01 05:36:22 +02:00
basic_usage.rst spack verify libraries: verify dependencies of installed packages can be resolved (#49124) 2025-02-24 11:28:06 +01:00
binary_caches.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
bootstrapping.rst Fix creating a bootstrap mirrors (#48252) 2025-01-27 22:37:29 +00:00
build_settings.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
build_systems.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
chain.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
command_index.in Rework command reference in docs, add spack commands command 2018-02-12 20:25:17 -08:00
conf.py Assign priorities to configuration scopes (take 2) (#49187) 2025-02-26 10:52:19 -08:00
config_yaml.rst config.py: deprecate config:install_path_scheme (#48463) 2025-01-08 16:02:11 +01:00
configuration.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
containers.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
contribution_guide.rst Remove pipelines and images based on ppc64le (#48767) 2025-01-29 16:36:25 +01:00
developer_guide.rst Deprecate Spec.concretize/Spec.concretized in favor of spack.concretize.concretize_one (#47971) 2025-01-15 10:13:19 +01:00
environments.rst env create: create copies of relative include files in envs created from manifest (#48689) 2025-02-01 01:41:18 +00:00
extensions.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
features.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
frequently_asked_questions.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
getting_started.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
gpu_configuration.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
index.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
Makefile API Docs: fix broken reference targets 2021-07-16 08:30:56 -07:00
mirrors.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
module_file_generation.svg SC17: reworked module file tutorial section (#5657) 2017-11-12 00:27:20 -08:00
module_file_support.rst Add version attributes up_to_1, up_to_2, up_to_3 (#38410) 2025-01-15 13:07:17 +01:00
packages_yaml.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
packaging_guide.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
pipelines.rst Reproducer should deduce artifact root from concrete environment (#45281) 2025-02-21 10:46:43 -06:00
replace_conda_homebrew.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
repositories.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
requirements.txt build(deps): bump sphinx from 8.2.0 to 8.2.1 in /lib/spack/docs (#49180) 2025-02-25 02:33:03 -07:00
signing.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
spack.yaml Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00