Check cabal build exit code, don't try to start application if build failed

This commit is contained in:
Luite Stegeman 2012-02-11 04:26:26 +01:00
parent f2d7b0bda0
commit 2d3e10b372

View File

@ -24,7 +24,7 @@ import qualified Data.Map as Map
import qualified Data.Set as Set
import System.Directory
import System.Exit (exitFailure, exitSuccess)
import System.Exit (exitFailure, exitSuccess, ExitCode (..))
import System.FilePath (splitDirectories, dropExtension, takeExtension)
import System.Posix.Types (EpochTime)
import System.PosixCompat.Files (modificationTime, getFileStatus)
@ -87,10 +87,13 @@ mainLoop isCabalDev = do
recompDeps
list <- getFileList
_ <- if isCabalDev
exit <- if isCabalDev
then rawSystem "cabal-dev" ["build"]
else rawSystem "cabal" ["build"]
case exit of
ExitFailure _ -> putStrLn "Build failure, pausing..."
_ -> do
removeLock
let pkg = pkgConfigs isCabalDev ghcVer
let start = concat ["runghc ", pkg, " devel.hs"]
@ -157,16 +160,12 @@ checkCabalFile gpd = case D.condLibrary gpd of
putStrLn $ "WARNING: yesod devel may not work correctly with " ++
"custom hs-source-dirs"
fl <- getFileList
print (allModules dLib)
let unlisted = checkFileList fl dLib
print fl
when (not . null $ unlisted) $ do
putStrLn "WARNING: the following source files are not listed in exposed-modules or other-modules:"
mapM_ putStrLn unlisted
when (D.fromString "Application" `notElem` D.exposedModules dLib) $ do
putStrLn "WARNING: no exposed module Application"
print (D.exposedModules dLib)
print dLib
failWith :: String -> IO a
failWith msg = do