mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-01-22 20:21:57 +01:00
More informative error messages
This commit is contained in:
parent
b66961d2d8
commit
e97ac30568
@ -37,10 +37,36 @@ checkDeps allPackages (user, pb) =
|
|||||||
(dep, Just version)
|
(dep, Just version)
|
||||||
errMap
|
errMap
|
||||||
where
|
where
|
||||||
errMap = singletonMap (user, pbVersion pb) range
|
errMap = singletonMap pu range
|
||||||
|
pu = PkgUser
|
||||||
|
{ puName = user
|
||||||
|
, puVersion = pbVersion pb
|
||||||
|
, puMaintainer = pbMaintainer pb
|
||||||
|
, puGithubPings = pbGithubPings pb
|
||||||
|
}
|
||||||
|
|
||||||
|
data PkgUser = PkgUser
|
||||||
|
{ puName :: PackageName
|
||||||
|
, puVersion :: Version
|
||||||
|
, puMaintainer :: Maybe Maintainer
|
||||||
|
, puGithubPings :: Set Text
|
||||||
|
}
|
||||||
|
deriving (Eq, Ord)
|
||||||
|
|
||||||
|
pkgUserShow1 :: PkgUser -> String
|
||||||
|
pkgUserShow1 PkgUser {..} = concat
|
||||||
|
[ display puName
|
||||||
|
, "-"
|
||||||
|
, display puVersion
|
||||||
|
]
|
||||||
|
|
||||||
|
pkgUserShow2 :: PkgUser -> String
|
||||||
|
pkgUserShow2 PkgUser {..} = unwords
|
||||||
|
$ (maybe "No maintainer" (unpack . unMaintainer) puMaintainer ++ ".")
|
||||||
|
: map (("@" ++) . unpack) (setToList puGithubPings)
|
||||||
|
|
||||||
newtype BadBuildPlan =
|
newtype BadBuildPlan =
|
||||||
BadBuildPlan (Map (PackageName, Maybe Version) (Map (PackageName, Version) VersionRange)) -- FIXME add maintainer and Github ping info
|
BadBuildPlan (Map (PackageName, Maybe Version) (Map PkgUser VersionRange))
|
||||||
deriving Typeable
|
deriving Typeable
|
||||||
instance Exception BadBuildPlan
|
instance Exception BadBuildPlan
|
||||||
instance Show BadBuildPlan where
|
instance Show BadBuildPlan where
|
||||||
@ -60,15 +86,14 @@ instance Show BadBuildPlan where
|
|||||||
, " depended on by:"
|
, " depended on by:"
|
||||||
]
|
]
|
||||||
|
|
||||||
showUser :: ((PackageName, Version), VersionRange) -> String
|
showUser :: (PkgUser, VersionRange) -> String
|
||||||
showUser ((user, version), range) = concat
|
showUser (pu, range) = concat
|
||||||
[ "- "
|
[ "- "
|
||||||
, display user
|
, pkgUserShow1 pu
|
||||||
, "-"
|
|
||||||
, display version
|
|
||||||
, " ("
|
, " ("
|
||||||
, display range
|
, display range
|
||||||
, ")"
|
, "). "
|
||||||
|
, pkgUserShow2 pu
|
||||||
]
|
]
|
||||||
|
|
||||||
instance Monoid BadBuildPlan where
|
instance Monoid BadBuildPlan where
|
||||||
|
|||||||
@ -12,4 +12,5 @@ spec = it "works" $ do
|
|||||||
bp <- newBuildPlan
|
bp <- newBuildPlan
|
||||||
let bs = Y.encode bp
|
let bs = Y.encode bp
|
||||||
mbp' = Y.decode bs
|
mbp' = Y.decode bs
|
||||||
|
Y.encodeFile "myplan.yaml" bp
|
||||||
mbp' `shouldBe` Just (() <$ bp)
|
mbp' `shouldBe` Just (() <$ bp)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user