[commit: Cabal] master: Add defaultLogsDir util and use it for storing build reports (6cb3902)
Ian Lynagh
igloo at earth.li
Fri Jun 24 01:57:34 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/6cb3902b456debaba1b36a994da510894937c1d9
>---------------------------------------------------------------
commit 6cb3902b456debaba1b36a994da510894937c1d9
Author: Duncan Coutts <duncan at haskell.org>
Date: Fri Aug 8 12:38:21 2008 +0000
Add defaultLogsDir util and use it for storing build reports
>---------------------------------------------------------------
.../Distribution/Client/BuildReports/Storage.hs | 6 +++---
cabal-install/Distribution/Client/Config.hs | 5 +++++
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/cabal-install/Distribution/Client/BuildReports/Storage.hs b/cabal-install/Distribution/Client/BuildReports/Storage.hs
index c42f15f..e890fcf 100644
--- a/cabal-install/Distribution/Client/BuildReports/Storage.hs
+++ b/cabal-install/Distribution/Client/BuildReports/Storage.hs
@@ -32,7 +32,7 @@ import qualified Distribution.Client.InstallPlan as InstallPlan
import Distribution.Client.InstallPlan
( InstallPlan, PlanPackage )
import Distribution.Client.Config
- ( defaultCabalDir )
+ ( defaultLogsDir )
import Distribution.System
( OS, Arch )
@@ -75,8 +75,8 @@ storeAnonymous reports = sequence_
storeLocal :: [(BuildReport, Repo)] -> IO ()
storeLocal reports = do
- cabalDir <- defaultCabalDir
- let file = cabalDir </> "build.log"
+ logsDir <- defaultLogsDir
+ let file = logsDir </> "build.log"
appendFile file (concatMap (format . fst) reports)
--TODO: make this concurrency safe, either lock the report file or make sure
-- the writes for each report are atomic (under 4k and flush at boundaries)
diff --git a/cabal-install/Distribution/Client/Config.hs b/cabal-install/Distribution/Client/Config.hs
index 802baa6..8234c27 100644
--- a/cabal-install/Distribution/Client/Config.hs
+++ b/cabal-install/Distribution/Client/Config.hs
@@ -18,6 +18,7 @@ module Distribution.Client.Config
, defaultConfigFile
, defaultCabalDir
, defaultCacheDir
+ , defaultLogsDir
, loadConfig
, showConfig
) where
@@ -119,6 +120,10 @@ defaultCacheDir :: IO FilePath
defaultCacheDir = do dir <- defaultCabalDir
return $ dir </> "packages"
+defaultLogsDir :: IO FilePath
+defaultLogsDir = do dir <- defaultCabalDir
+ return $ dir </> "logs"
+
defaultCompiler :: CompilerFlavor
defaultCompiler = fromMaybe GHC defaultCompilerFlavor
More information about the Cvs-libraries
mailing list