Commit b45700ce authored by ian@well-typed.com's avatar ian@well-typed.com

Tweak the bindist comparison tool

It now just warns about files it doesn't recognise, rather than giving
an error. This means that random text files etc in the same directory
as the bindists don't make it fall over.
parent 76315628
......@@ -11,11 +11,15 @@ die :: Errors -> IO a
die errs = do mapM_ (hPutStrLn stderr) errs
exitFailure
warn :: Errors -> IO ()
warn warnings = mapM_ (hPutStrLn stderr) warnings
dieOnErrors :: Either Errors a -> IO a
dieOnErrors (Left errs) = die errs
dieOnErrors (Right x) = return x
type Errors = [String]
type Warnings = [String]
maybeRead :: Read a => String -> Maybe a
maybeRead str = case reads str of
......
......@@ -52,7 +52,8 @@ doDirectory ignoreSizeChanges p1 p2
mkFileInfo fp@('g':'h':'c':'-':x:xs)
| isDigit x = return [(("ghc-", "VERSION", dropWhile isVersionChar xs), fp)]
| otherwise = die ["No version number in " ++ show fp]
mkFileInfo fp = die ["Unrecognised filename " ++ show fp]
mkFileInfo fp = do warn ["Unrecognised filename " ++ show fp]
return []
fss1' <- mapM mkFileInfo fs1
fss2' <- mapM mkFileInfo fs2
let fs1' = sort $ concat fss1'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment