| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Stack.BuildPlan
Description
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 #
Constructors
| UnknownPackages (Path Abs File) (Map PackageName (Maybe Version, Set PackageName)) (Map PackageName (Set PackageIdentifier)) | |
| SnapshotNotFound SnapName | |
| NeitherCompilerOrResolverSpecified Text |
Instances
data BuildPlanCheck Source #
Constructors
Instances
Arguments
| :: (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 GenericPackageDescriptions and a set of flags against a
given snapshot. Returns how well the snapshot satisfies the dependencies of
the packages.
Constructors
| DepError | |
Fields
| |
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 #
Arguments
| :: (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 GenericPackageDescriptions.
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).