Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Pulling out of #8650 for readability. Trying to clean this up to simplify extensions in the future. This is not a strict refactor, there are behavioral changes here. - Adds some structs for managing state. - Addresses some likely inconsistent behavior for weird edge-cases. - We fill platform information before checking if a request is satisfied. - We error earlier if we can't find a download for the request, i.e., even if you somehow have it installed. - Only reports versions as uninstalled if a download actually replaces them. - Moves some of the default output to tracing messages. - Even if an installation was already satisfied, we'll check that it is setup properly
- Loading branch information