@@ -19,6 +19,7 @@ import Stackage.Prelude
19-- FIXME check cycles in dependencies, only looking at libraries and
19-- FIXME check cycles in dependencies, only looking at libraries and
20-- executables
20-- executables
22+-- | Check the build plan for missing deps, wrong versions, etc.
22checkBuildPlan :: MonadThrow m => BuildPlan -> m ()
23checkBuildPlan :: MonadThrow m => BuildPlan -> m ()
23checkBuildPlan BuildPlan {..}
24checkBuildPlan BuildPlan {..}
24 | null errs' = return ()
25 | null errs' = return ()
@@ -28,6 +29,10 @@ checkBuildPlan BuildPlan {..}
28 errs@(BadBuildPlan errs') =
29 errs@(BadBuildPlan errs') =
29 execWriter $ mapM_ (checkDeps allPackages) $ mapToList bpPackages
30 execWriter $ mapM_ (checkDeps allPackages) $ mapToList bpPackages
32+-- | For a given package name and plan, check that its dependencies are:
34+-- 1. Existent (existing in the provided package map)
35+-- 2. Within version range
31checkDeps :: Map PackageName Version
36checkDeps :: Map PackageName Version
32 -> (PackageName, PackagePlan)
37 -> (PackageName, PackagePlan)
33 -> Writer BadBuildPlan ()
38 -> Writer BadBuildPlan ()