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. |
showShortDependencies
:: ResolutionResult -> String
Renders a dependency tree from a successful resolution in a short form where already shown packages are not fully shown again. |
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. |
showShortResult
:: ResolutionResult -> String
Renders a resolution result into a short textual representation (where already shown packages are not shown again) 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 dependency tree from a successful resolution in a short form where already shown packages are not fully shown again. |
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. |
Renders a resolution result into a short textual representation (where already shown packages are not shown again) for the user. In case of success, the shortened 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. |
|
|
|
|