@@ -20,6 +20,7 @@ import Stackage2.CorePackages
2020import Stackage2.PackageConstraints
2121import Stackage2.PackageIndex
2222import Stackage2.Prelude
23+import Stackage2.GithubPings
2324import Control.Monad.State.Strict (execState, get, put)
2425import qualified Data.Map as Map
2526import qualified Data.Set as Set
@@ -77,6 +78,7 @@ instance desc ~ () => FromJSON (BuildPlan desc) where
7778data PackageBuild desc = PackageBuild
7879 { pbVersion :: Version
7980 , pbMaintainer :: Maybe Maintainer
81+ , pbGithubPings :: Set Text
8082 , pbUsers :: Set PackageName
8183 , pbFlags :: Map FlagName Bool
8284 , pbTestState :: TestState
@@ -95,6 +97,7 @@ instance ToJSON (PackageBuild desc) where
9597 [ maybe [] (\m -> ["maintainer" .= m]) pbMaintainer
9698 ,
9799 [ "version" .= asText (display pbVersion)
100+ , "github-pings" .= pbGithubPings
98101 , "users" .= map unPackageName (unpack pbUsers)
99102 , "flags" .= Map.mapKeysWith const (\(FlagName f) -> asText $ pack f) pbFlags
100103 , "test-state" .= pbTestState
@@ -106,6 +109,7 @@ instance desc ~ () => FromJSON (PackageBuild desc) where
106109 parseJSON = withObject "PackageBuild" $ \o -> PackageBuild
107110 <$> (o .: "version" >>= efail . simpleParse . asText)
108111 <*> o .:? "maintainer"
112+ <*> o .:? "github-pings" .!= mempty
109113 <*> (Set.map PackageName <$> (o .:? "users" .!= mempty))
110114 <*> (toFlags <$> (o .:? "flags" .!= mempty))
111115 <*> o .: "test-state"
@@ -267,6 +271,7 @@ simplifyDesc gpd = do
267271 return PackageBuild
268272 { pbVersion = version
269273 , pbMaintainer = fmap snd $ lookup name $ pcPackages defaultPackageConstraints
274+ , pbGithubPings = getGithubPings gpd
270275 , pbUsers = mempty -- must be filled in later
271276 , pbFlags = packageFlags name
272277 , pbTestState =