Prefer setting preferences only within the currently active project #37
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.
Previous to this change, we would search up the environment stack
looking for the project that contains the target package, and set the
preference in there. This was intended to make it convenient to e.g.
set a
Revise
preference while having an application project activated.It turns out that the more common problem is actually that a package
wants to set a preference of a sub-package (e.g.
MPI
andMPIPreferences
) that may not be a top-level dependent of the currentlyactive project.
Therefore, we change the behavior of
set_preferences!()
to preferadding the target package as an
extras
dependency of thecurrently-active project, but maintain the old behavior behind a keyword
argument to
set_preferences!()
.