Safe Haskell | None |
---|---|
Language | Haskell2010 |
Resolving a build plan for a set of packages in a given Stackage snapshot.
- data BuildPlanException
- data BuildPlanCheck
- checkSnapBuildPlan :: (HasConfig env, HasGHCVariant env) => Path Abs Dir -> [GenericPackageDescription] -> Maybe (Map PackageName (Map FlagName Bool)) -> SnapshotDef -> Maybe (CompilerVersion CVActual) -> RIO env BuildPlanCheck
- data DepError = DepError {
- deVersion :: !(Maybe Version)
- deNeededBy :: !(Map PackageName VersionRange)
- type DepErrors = Map PackageName DepError
- gpdPackageDeps :: GenericPackageDescription -> CompilerVersion CVActual -> Platform -> Map FlagName Bool -> Map PackageName VersionRange
- gpdPackages :: [GenericPackageDescription] -> Map PackageName Version
- removeSrcPkgDefaultFlags :: [GenericPackageDescription] -> Map PackageName (Map FlagName Bool) -> Map PackageName (Map FlagName Bool)
- selectBestSnapshot :: (HasConfig env, HasGHCVariant env) => Path Abs Dir -> [GenericPackageDescription] -> NonEmpty SnapName -> RIO env (SnapshotDef, BuildPlanCheck)
- getToolMap :: LoadedSnapshot -> LocalPackages -> Map ExeName (Set PackageName)
- showItems :: Show a => [a] -> Text
Documentation
data BuildPlanException Source #
data BuildPlanCheck Source #
:: (HasConfig env, HasGHCVariant env) | |
=> Path Abs Dir | project root, used for checking out necessary files |
-> [GenericPackageDescription] | |
-> Maybe (Map PackageName (Map FlagName Bool)) | |
-> SnapshotDef | |
-> Maybe (CompilerVersion CVActual) | |
-> RIO env BuildPlanCheck |
Check a set of GenericPackageDescription
s and a set of flags against a
given snapshot. Returns how well the snapshot satisfies the dependencies of
the packages.
DepError | |
|
gpdPackageDeps :: GenericPackageDescription -> CompilerVersion CVActual -> Platform -> Map FlagName Bool -> Map PackageName VersionRange Source #
removeSrcPkgDefaultFlags :: [GenericPackageDescription] -> Map PackageName (Map FlagName Bool) -> Map PackageName (Map FlagName Bool) Source #
:: (HasConfig env, HasGHCVariant env) | |
=> Path Abs Dir | project root, used for checking out necessary files |
-> [GenericPackageDescription] | |
-> NonEmpty SnapName | |
-> RIO env (SnapshotDef, BuildPlanCheck) |
Find a snapshot and set of flags that is compatible with and matches as
best as possible with the given GenericPackageDescription
s.
getToolMap :: LoadedSnapshot -> LocalPackages -> Map ExeName (Set PackageName) Source #
Map from tool name to package providing it. This accounts for both snapshot and local packages (deps and project packages).