Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CmdInstall.installAction is ~300 lines long and full of nested scopes and ad-hoc logic. This change hopes to make it more readable and understandable. - Lift withProject and withoutProject out of installAction and split their relative concerns. E.g. not parsing URIs is installAction's concern not withProject's (which would just return a constant []). - Split an intermediate step into a separate function, resolveTargetSelectorsInProjectBaseContext. - Reuse withGlobalConfig and specFromPkgId (renamed from pidPackageSpecifiers). - Avoid trying withProject a second time in case no target is specified. - Fix a bug introduced in 802a326 where establishProjectBaseContext is called in a non-project setting. Also simplify its original implementation by moving the change into withProject rather than calling establishProjectBaseContext a second time. - Document the interaction between cabal v2-install and local configuration and add few comments.
- Loading branch information