@@ -0,0 +1,30 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+{-# LANGUAGE OverloadedStrings #-}
3+-- | Get the proposed build plan.
4+module Stackage2.ProposedPlan
5+ ( ProposedPlan (..)
6+ , defaultProposedPlan
7+ ) where
8+
9+import Stackage2.Prelude
10+import qualified Stackage.Config as Old
11+import qualified Stackage.Types as Old
12+
13+data ProposedPlan = ProposedPlan
14+ { ppPackages :: Map PackageName (VersionRange, Maintainer)
15+ -- ^ This does not include core packages or dependencies, just packages
16+ -- added by some maintainer.
17+ , ppExpectedFailures :: Set PackageName
18+ -- ^ At some point in the future, we should split this into Haddock
19+ -- failures, test failures, etc.
20+ }
21+
22+-- | The proposed plan from the requirements provided by contributors.
23+defaultProposedPlan :: ProposedPlan
24+defaultProposedPlan = ProposedPlan
25+ { ppPackages = fmap (Maintainer . pack . Old.unMaintainer)
26+ <$> Old.defaultStablePackages ghcVer False
27+ , ppExpectedFailures = Old.defaultExpectedFailures ghcVer False
28+ }
29+ where
30+ ghcVer = Old.GhcMajorVersion 7 8