Generate Hackage maps #38

This commit is contained in:
Michael Snoyman 2013-09-02 11:08:58 +03:00
parent aaca23e822
commit 8e8631641a
2 changed files with 8 additions and 0 deletions

1
.gitignore vendored
View File

@ -14,3 +14,4 @@ cabal-dev
/build-tools.log
/logs-tools/
build-plan.txt
hackage-map.txt

View File

@ -56,6 +56,7 @@ getInstallInfo settings = do
putStrLn "Printing build plan to build-plan.log"
System.IO.UTF8.writeFile "build-plan.log" $ unlines $ map showDep $ Map.toList final
System.IO.UTF8.writeFile "hackage-map.txt" $ unlines $ map showHackageMap $ Map.toList final
unless (Set.null errs) $ do
putStrLn "Build plan requires some disallowed packages"
@ -116,6 +117,12 @@ showDep (PackageName name, BuildInfo {..}) =
where
unP (PackageName p) = p
-- | Convert to format used by Hackage for displaying distribution versions.
-- For more info, see https://github.com/fpco/stackage/issues/38.
showHackageMap :: (PackageName, BuildInfo) -> String
showHackageMap (PackageName name, BuildInfo {..}) =
show (name, showVersion biVersion, Nothing :: Maybe String)
bpPackageList :: BuildPlan -> [String]
bpPackageList = map packageVersionString . Map.toList . Map.map spiVersion . bpPackages