Load the correct defaults file when loading packages #818
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, we would always load
defaults-release.sh
, even when another default was specified (such as--defaults=o2
). Then, we'd override some of the keys ofdefaults-release.sh
with those from the correct defaults file.While we currently cover the most frequently-used keys in defaults (env, disable, overrides), this is obviously a massive footgun. It also means we must always have a
defaults-release.sh
file present, even if that default is never used.This patch changes
getPackageList()
to load the correct underlying defaults file. It does not touch the override logic inparseDefaults()
, which can probably be signficantly simplified after this patch is applied, but that's fiddly and would make this change less reviewable, so I'll leave it for another commit. This does mean that we'd load e.g.defaults-o2.sh
and then override some of its keys with the same values loaded previously, but that shouldn't hurt.Internally, all defaults are still called
defaults-release
to allow sharing packages between defaults (which I assume was the original motivation for doing this). There's not much point currently, since we setenv:
differently in all defaults, but we might want to use this in future.