This issue is a followup to #3781. The main dependency solver modules were moved into a separate package (cabal-install-solver), but some functions that act as an API are still in cabal-install. The dependency solver unit tests use that API, so they are also in cabal-install.
This change is much simpler now that the top-down solver was removed in #3598 and support for multiple solvers was removed in #9282.
Most of the remaining dependency solver API is in Distribution.Client.Dependency, including resolveDependencies and DepResolverParams:
|
-- | Run the dependency solver. |
|
-- |
|
-- Since this is potentially an expensive operation, the result is wrapped in a |
|
-- a 'Progress' structure that can be unfolded to provide progress information, |
|
-- logging messages and the final result or an error. |
|
resolveDependencies |
|
:: Platform |
|
-> CompilerInfo |
|
-> Maybe PkgConfigDb |
|
-> DepResolverParams |
|
-> Progress String String SolverInstallPlan |
|
resolveDependencies platform comp pkgConfigDB params = |
|
-- | The set of parameters to the dependency resolver. These parameters are |
|
-- relatively low level but many kinds of high level policies can be |
|
-- implemented in terms of adjustments to the parameters. |
|
data DepResolverParams = DepResolverParams |
This issue is a followup to #3781. The main dependency solver modules were moved into a separate package (
cabal-install-solver), but some functions that act as an API are still incabal-install. The dependency solver unit tests use that API, so they are also incabal-install.This change is much simpler now that the top-down solver was removed in #3598 and support for multiple solvers was removed in #9282.
Most of the remaining dependency solver API is in Distribution.Client.Dependency, including
resolveDependenciesandDepResolverParams:cabal/cabal-install/src/Distribution/Client/Dependency.hs
Lines 779 to 790 in 91769ab
cabal/cabal-install/src/Distribution/Client/Dependency.hs
Lines 173 to 176 in 91769ab