Fix log dir creation

This commit is contained in:
Chris Done 2015-02-18 23:33:30 +01:00
parent c27df5e831
commit 8e97d5d8e7

View File

@ -188,7 +188,7 @@ pkgDir Env{..} name version = envShake <> "packages" <>
-- | The package directory. -- | The package directory.
pkgLogFile :: Env -> PackageName -> Version -> FilePath pkgLogFile :: Env -> PackageName -> Version -> FilePath
pkgLogFile env@Env{..} name version = pkgDir env name version <> pkgLogFile env@Env{..} name version = pkgDir env name version <>
"dist" <> "log.txt" "dist" <> "stackage-log.txt"
-- | Installation paths. -- | Installation paths.
pbBinDir, pbLibDir, pbDataDir, pbDocDir :: PerformBuild -> FilePath pbBinDir, pbLibDir, pbDataDir, pbDocDir :: PerformBuild -> FilePath
@ -394,7 +394,7 @@ packageTarget env@Env{..} name plan = do
liftIO (withMVar envRegLock liftIO (withMVar envRegLock
(const (pkgCabal Verbose ["register"]))) (const (pkgCabal Verbose ["register"])))
makeTargetFile (targetForPackage envShake name version) makeTargetFile (targetForPackage envShake name version)
where logFile = (pkgLogFile env name version) where logFile = pkgLogFile env name version
dir = pkgDir env name version dir = pkgDir env name version
version = ppVersion plan version = ppVersion plan
versionMappings = M.toList (M.map ppVersion (bpPackages (pbPlan envPB))) versionMappings = M.toList (M.map ppVersion (bpPackages (pbPlan envPB)))
@ -516,6 +516,7 @@ cabal env verbosity prefix logfile cwd args = do
envmap <- liftIO $ fmap (++ defaultEnv (envPB env) pwd) $ getEnvironment envmap <- liftIO $ fmap (++ defaultEnv (envPB env) pwd) $ getEnvironment
logLn env verbosity (prefix <> T.pack (fromMaybe "" (listToMaybe args))) logLn env verbosity (prefix <> T.pack (fromMaybe "" (listToMaybe args)))
logLn env Verbose (prefix <> T.pack (unwords (cmd' : map show args))) logLn env Verbose (prefix <> T.pack (unwords (cmd' : map show args)))
liftIO (FP.createTree (FP.directory logfile))
code <- liftIO $ flip catch exitFailing code <- liftIO $ flip catch exitFailing
$ withBinaryFile (FP.encodeString logfile) AppendMode $ \outH -> $ withBinaryFile (FP.encodeString logfile) AppendMode $ \outH ->
do withCheckedProcess do withCheckedProcess