mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-01-19 10:41:57 +01:00
Merge branch 'multi-github-mentions' of https://github.com/bergmark/stackage
This commit is contained in:
commit
a2ac2c3db2
@ -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
|
||||||
}, "")
|
}, "")
|
||||||
|
|
||||||
|
|||||||
@ -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"])
|
||||||
]
|
]
|
||||||
|
|||||||
@ -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
|
||||||
_ -> ""
|
_ -> ""
|
||||||
, ")"
|
, ")"
|
||||||
]
|
]
|
||||||
|
|||||||
@ -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 =
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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 ('@' :)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user