This module contains the dependency resolution algorithm.
resolveDependenciesFromLookupSet
:: Config -> Package -> LookupSet -> ErrorLogger ResolutionResult
Resolves the dependencies of a package using packages from a lookup set, inside an error logger. |
resolve
:: Config -> Package -> LookupSet -> ResolutionResult
Resolves the dependencies of a package using packages from a lookup set. |
resolvedPackages
:: ResolutionResult -> [Package]
Gives a list of all activated packages for a successful resolution. |
resolutionSuccess
:: ResolutionResult -> Bool
Was a resolution successful? |
showDependencies
:: ResolutionResult -> String
Renders a dependency tree from a successful resolution. |
showConflict
:: ResolutionResult -> String
Renders a conflict resolution into a textual representation. |
showResult
:: ResolutionResult -> String
Renders a resolution result into a textual representation for the user. |
dependenciesAsGraph
:: ResolutionResult -> Maybe DotGraph
Shows a successful resolution as a (Graphviz) dot graph. |
allTransitiveDependencies
:: LookupSet -> String -> [String]
|
transitiveDependencies
:: LookupSet -> Package -> [String]
|
isCompatibleToCompiler
:: Config -> Package -> Bool
|
isDisjunctionCompatible
:: (Int,Int,Int,Maybe String) -> [[VersionConstraint]] -> Bool
|
Result of a resolution run. In case of success, it contains the original package as well as a list of resolved packages. If the resolution failed, it contains the conflict tree.
Constructors:
Resolves the dependencies of a package using packages from a lookup set, inside an error logger. |
Resolves the dependencies of a package using packages from a lookup set. The base package of the current compiler is removed from the result set. |
Gives a list of all activated packages for a successful resolution. |
Was a resolution successful?
|
Renders a dependency tree from a successful resolution. |
Renders a conflict resolution into a textual representation. |
Renders a resolution result into a textual representation for the user. In case of success, the dependency tree is shown. In case of failure, information on the cause of the conflict is shown. |
Shows a successful resolution as a (Graphviz) dot graph. |
|
|
|
|