on master help sign in
Merge branch 'multi-github-mentions' of https://github.com/bergmark/stackage
commita2ac2c3db29fa77a7d9971bdd21cd717c56fa52b authorMichael Snoyman <michael@snoyman.com> dateThu 17 Jul 2014, 19:31 (12 years ago) parent01b1dfa9a78b76
7 files changed+23−23
Stackage/BuildPlan.hs+3−2 Stackage/Config.hs+8−8 Stackage/InstallInfo.hs+2−4 Stackage/LoadDatabase.hs+2−2 Stackage/Test.hs+1−3 Stackage/Types.hs+3−3 Stackage/Util.hs+4−1
Stackage/BuildPlan.hs+3−2
@@ -12,6 +12,7 @@ import Distribution.Text (display, simpleParse)
1212import Stackage.Types
1313import qualified System.IO.UTF8
1414import Data.Char (isSpace)
15+import Stackage.Util
1516
1617readBuildPlan :: FilePath -> IO BuildPlan
1718readBuildPlan fp = do
@@ -95,7 +96,7 @@ instance AsString SelectedPackageInfo where
9596 toString SelectedPackageInfo {..} = unwords
9697 [ display spiVersion
9798 , toString spiHasTests
98− , maybe "@" ("@" ++) spiGithubUser
99+ , (\v -> if null v then "@" else v) $ githubMentions spiGithubUser
99100 , unMaintainer spiMaintainer
100101 ]
101102 fromString s1 = do
@@ -105,7 +106,7 @@ instance AsString SelectedPackageInfo where
105106 Right (SelectedPackageInfo
106107 { spiVersion = version
107108 , spiHasTests = hasTests
108− , spiGithubUser = gu
109+ , spiGithubUser = [gu]
109110 , spiMaintainer = Maintainer m
110111 }, "")
111112
Stackage/Config.hs+8−8
@@ -485,15 +485,15 @@ defaultStablePackages ghcVer requireHP = unPackageMap $ execWriter $ do
485485-- organization. See:
486486--
487487-- https://github.com/fpco/stackage/issues/226#issuecomment-45644142
488−convertGithubUser :: String -> String
488+convertGithubUser :: String -> [String]
489489convertGithubUser x =
490− fromMaybe x $ Map.lookup (map toLower x) pairs
490+ fromMaybe [x] $ Map.lookup (map toLower x) pairs
491491 where
492492 pairs = Map.fromList
493− [ ("diagrams", "diagrams/Core")
494− , ("yesodweb", "snoyberg")
495− , ("fpco", "snoyberg")
496− , ("faylang", "bergmark")
497− , ("silkapp", "silkapp/stackage")
498− , ("snapframework","mightybyte")
493+ [ ("diagrams", ["diagrams/Core"])
494+ , ("yesodweb", ["snoyberg"])
495+ , ("fpco", ["snoyberg"])
496+ , ("faylang", ["bergmark"])
497+ , ("silkapp", ["bergmark"])
498+ , ("snapframework",["mightybyte"])
499499 ]
Stackage/InstallInfo.hs+2−4
@@ -153,9 +153,7 @@ showDep (PackageName name, BuildInfo {..}) =
153153 , showVersion biVersion
154154 , " ("
155155 , unMaintainer biMaintainer
156− , case biGithubUser of
157− Nothing -> ""
158− Just x -> " @" ++ x
156+ , " " ++ githubMentions biGithubUser
159157 , ")"
160158 , ": "
161159 , unwords $ map unP biUsers
@@ -194,7 +192,7 @@ checkBadVersions settings core (PackageDB pdb) buildPlan =
194192 , " ("
195193 , unMaintainer $ biMaintainer bi
196194 , case Map.lookup name pdb of
197− Just PackageInfo { piGithubUser = Just gu } -> " @" ++ gu
195+ Just PackageInfo { piGithubUser = gus } -> " " ++ githubMentions gus
198196 _ -> ""
199197 , ")"
200198 ]
Stackage/LoadDatabase.hs+2−2
@@ -10,7 +10,7 @@ import qualified Data.ByteString.Lazy.Char8 as L8
1010import Data.List (stripPrefix)
1111import qualified Data.Map as Map
1212import Data.Maybe (catMaybes, listToMaybe,
13− mapMaybe)
13+ mapMaybe, fromMaybe)
1414import Data.Monoid (Monoid (..))
1515import Data.Set (member)
1616import qualified Data.Set as Set
@@ -168,7 +168,7 @@ loadPackageDB settings coreMap core deps = do
168168 , piBuildToolsAll = buildToolsExe' `Set.union` buildToolsOther'
169169 , piGPD = mgpd
170170 , piExecs = execs
171− , piGithubUser = mgithub
171+ , piGithubUser = fromMaybe [] mgithub
172172 }
173173
174174 parseDeps p lbs =
Stackage/Test.hs+1−3
@@ -153,9 +153,7 @@ runTestSuite cabalVersion settings testdir (packageName, SelectedPackageInfo {..
153153 , package
154154 , "("
155155 , unMaintainer spiMaintainer
156− , case spiGithubUser of
157− Nothing -> ""
158− Just x -> " @" ++ x
156+ , githubMentions spiGithubUser
159157 , ")"
160158 ]
161159 rm_r dir
Stackage/Types.hs+3−3
@@ -34,7 +34,7 @@ data PackageInfo = PackageInfo
3434 , piBuildToolsAll :: Set Executable -- ^ required for all stanzas
3535 , piGPD :: Maybe GenericPackageDescription
3636 , piExecs :: Set Executable
37− , piGithubUser :: Maybe String
37+ , piGithubUser :: [String]
3838 }
3939 deriving (Show, Eq)
4040
@@ -47,7 +47,7 @@ data BuildInfo = BuildInfo
4747 , biUsers :: [PackageName]
4848 , biMaintainer :: Maintainer
4949 , biDeps :: Map PackageName VersionRange
50− , biGithubUser :: Maybe String
50+ , biGithubUser :: [String]
5151 , biHasTests :: Bool
5252 }
5353
@@ -73,7 +73,7 @@ data InstallInfo = InstallInfo
7373data SelectedPackageInfo = SelectedPackageInfo
7474 { spiVersion :: Version
7575 , spiMaintainer :: Maintainer
76− , spiGithubUser :: Maybe String
76+ , spiGithubUser :: [String]
7777 , spiHasTests :: Bool
7878 }
7979 deriving (Show, Read)
Stackage/Util.hs+4−1
@@ -5,7 +5,7 @@ import qualified Codec.Archive.Tar as Tar
55import qualified Codec.Archive.Tar.Entry as TarEntry
66import Control.Monad (guard, when)
77import Data.Char (isSpace, toUpper)
8−import Data.List (stripPrefix)
8+import Data.List (intercalate, stripPrefix)
99import qualified Data.Map as Map
1010import Data.Maybe (mapMaybe)
1111import qualified Data.Set as Set
@@ -168,3 +168,6 @@ replaceTarball tarballdir pkgname = do
168168 else return pkgname
169169 where
170170 fp = tarballdir </> pkgname <.> "tar.gz"
171+
172+githubMentions :: [String] -> String
173+githubMentions = intercalate "," . map ('@' :)