Merge branch 'multi-github-mentions' of https://github.com/bergmark/stackage

This commit is contained in:
Michael Snoyman 2014-07-17 19:31:49 +03:00
commit a2ac2c3db2
7 changed files with 23 additions and 23 deletions

View File

@ -12,6 +12,7 @@ import Distribution.Text (display, simpleParse)
import Stackage.Types import Stackage.Types
import qualified System.IO.UTF8 import qualified System.IO.UTF8
import Data.Char (isSpace) import Data.Char (isSpace)
import Stackage.Util
readBuildPlan :: FilePath -> IO BuildPlan readBuildPlan :: FilePath -> IO BuildPlan
readBuildPlan fp = do readBuildPlan fp = do
@ -95,7 +96,7 @@ instance AsString SelectedPackageInfo where
toString SelectedPackageInfo {..} = unwords toString SelectedPackageInfo {..} = unwords
[ display spiVersion [ display spiVersion
, toString spiHasTests , toString spiHasTests
, maybe "@" ("@" ++) spiGithubUser , (\v -> if null v then "@" else v) $ githubMentions spiGithubUser
, unMaintainer spiMaintainer , unMaintainer spiMaintainer
] ]
fromString s1 = do fromString s1 = do
@ -105,7 +106,7 @@ instance AsString SelectedPackageInfo where
Right (SelectedPackageInfo Right (SelectedPackageInfo
{ spiVersion = version { spiVersion = version
, spiHasTests = hasTests , spiHasTests = hasTests
, spiGithubUser = gu , spiGithubUser = [gu]
, spiMaintainer = Maintainer m , spiMaintainer = Maintainer m
}, "") }, "")

View File

@ -485,15 +485,15 @@ defaultStablePackages ghcVer requireHP = unPackageMap $ execWriter $ do
-- organization. See: -- organization. See:
-- --
-- https://github.com/fpco/stackage/issues/226#issuecomment-45644142 -- https://github.com/fpco/stackage/issues/226#issuecomment-45644142
convertGithubUser :: String -> String convertGithubUser :: String -> [String]
convertGithubUser x = convertGithubUser x =
fromMaybe x $ Map.lookup (map toLower x) pairs fromMaybe [x] $ Map.lookup (map toLower x) pairs
where where
pairs = Map.fromList pairs = Map.fromList
[ ("diagrams", "diagrams/Core") [ ("diagrams", ["diagrams/Core"])
, ("yesodweb", "snoyberg") , ("yesodweb", ["snoyberg"])
, ("fpco", "snoyberg") , ("fpco", ["snoyberg"])
, ("faylang", "bergmark") , ("faylang", ["bergmark"])
, ("silkapp", "silkapp/stackage") , ("silkapp", ["bergmark"])
, ("snapframework","mightybyte") , ("snapframework",["mightybyte"])
] ]

View File

@ -153,9 +153,7 @@ showDep (PackageName name, BuildInfo {..}) =
, showVersion biVersion , showVersion biVersion
, " (" , " ("
, unMaintainer biMaintainer , unMaintainer biMaintainer
, case biGithubUser of , " " ++ githubMentions biGithubUser
Nothing -> ""
Just x -> " @" ++ x
, ")" , ")"
, ": " , ": "
, unwords $ map unP biUsers , unwords $ map unP biUsers
@ -194,7 +192,7 @@ checkBadVersions settings core (PackageDB pdb) buildPlan =
, " (" , " ("
, unMaintainer $ biMaintainer bi , unMaintainer $ biMaintainer bi
, case Map.lookup name pdb of , case Map.lookup name pdb of
Just PackageInfo { piGithubUser = Just gu } -> " @" ++ gu Just PackageInfo { piGithubUser = gus } -> " " ++ githubMentions gus
_ -> "" _ -> ""
, ")" , ")"
] ]

View File

@ -10,7 +10,7 @@ import qualified Data.ByteString.Lazy.Char8 as L8
import Data.List (stripPrefix) import Data.List (stripPrefix)
import qualified Data.Map as Map import qualified Data.Map as Map
import Data.Maybe (catMaybes, listToMaybe, import Data.Maybe (catMaybes, listToMaybe,
mapMaybe) mapMaybe, fromMaybe)
import Data.Monoid (Monoid (..)) import Data.Monoid (Monoid (..))
import Data.Set (member) import Data.Set (member)
import qualified Data.Set as Set import qualified Data.Set as Set
@ -168,7 +168,7 @@ loadPackageDB settings coreMap core deps = do
, piBuildToolsAll = buildToolsExe' `Set.union` buildToolsOther' , piBuildToolsAll = buildToolsExe' `Set.union` buildToolsOther'
, piGPD = mgpd , piGPD = mgpd
, piExecs = execs , piExecs = execs
, piGithubUser = mgithub , piGithubUser = fromMaybe [] mgithub
} }
parseDeps p lbs = parseDeps p lbs =

View File

@ -153,9 +153,7 @@ runTestSuite cabalVersion settings testdir (packageName, SelectedPackageInfo {..
, package , package
, "(" , "("
, unMaintainer spiMaintainer , unMaintainer spiMaintainer
, case spiGithubUser of , githubMentions spiGithubUser
Nothing -> ""
Just x -> " @" ++ x
, ")" , ")"
] ]
rm_r dir rm_r dir

View File

@ -34,7 +34,7 @@ data PackageInfo = PackageInfo
, piBuildToolsAll :: Set Executable -- ^ required for all stanzas , piBuildToolsAll :: Set Executable -- ^ required for all stanzas
, piGPD :: Maybe GenericPackageDescription , piGPD :: Maybe GenericPackageDescription
, piExecs :: Set Executable , piExecs :: Set Executable
, piGithubUser :: Maybe String , piGithubUser :: [String]
} }
deriving (Show, Eq) deriving (Show, Eq)
@ -47,7 +47,7 @@ data BuildInfo = BuildInfo
, biUsers :: [PackageName] , biUsers :: [PackageName]
, biMaintainer :: Maintainer , biMaintainer :: Maintainer
, biDeps :: Map PackageName VersionRange , biDeps :: Map PackageName VersionRange
, biGithubUser :: Maybe String , biGithubUser :: [String]
, biHasTests :: Bool , biHasTests :: Bool
} }
@ -73,7 +73,7 @@ data InstallInfo = InstallInfo
data SelectedPackageInfo = SelectedPackageInfo data SelectedPackageInfo = SelectedPackageInfo
{ spiVersion :: Version { spiVersion :: Version
, spiMaintainer :: Maintainer , spiMaintainer :: Maintainer
, spiGithubUser :: Maybe String , spiGithubUser :: [String]
, spiHasTests :: Bool , spiHasTests :: Bool
} }
deriving (Show, Read) deriving (Show, Read)

View File

@ -5,7 +5,7 @@ import qualified Codec.Archive.Tar as Tar
import qualified Codec.Archive.Tar.Entry as TarEntry import qualified Codec.Archive.Tar.Entry as TarEntry
import Control.Monad (guard, when) import Control.Monad (guard, when)
import Data.Char (isSpace, toUpper) import Data.Char (isSpace, toUpper)
import Data.List (stripPrefix) import Data.List (intercalate, stripPrefix)
import qualified Data.Map as Map import qualified Data.Map as Map
import Data.Maybe (mapMaybe) import Data.Maybe (mapMaybe)
import qualified Data.Set as Set import qualified Data.Set as Set
@ -168,3 +168,6 @@ replaceTarball tarballdir pkgname = do
else return pkgname else return pkgname
where where
fp = tarballdir </> pkgname <.> "tar.gz" fp = tarballdir </> pkgname <.> "tar.gz"
githubMentions :: [String] -> String
githubMentions = intercalate "," . map ('@' :)