buildbox 1.5.0.1 → 1.5.1.1
raw patch · 3 files changed
+10/−16 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ BuildBox.Command.File: atomicWriteFile :: FilePath -> String -> Build ()
Files
- BuildBox/Command/File.hs +9/−4
- BuildBox/IO/File.hs +0/−10
- buildbox.cabal +1/−2
BuildBox/Command/File.hs view
@@ -6,7 +6,8 @@ , inScratchDir , clobberDir , ensureDir- , withTempFile)+ , withTempFile+ , atomicWriteFile) where import BuildBox.Build import BuildBox.Command.System@@ -136,6 +137,10 @@ io $ canonicalizePath fileName ---+-- | Atomically write a file by first writing it to a tmp file then renaming it.+-- This prevents concurrent processes from reading half-written files.+atomicWriteFile :: FilePath -> String -> Build ()+atomicWriteFile filePath str+ = do tmp <- newTempFile+ io $ writeFile tmp str+ ssystem $ "mv " ++ tmp ++ " " ++ filePath
− BuildBox/IO/File.hs
@@ -1,10 +0,0 @@-{-# OPTIONS_HADDOCK hide #-}-module BuildBox.IO.File- (atomicWriteFile)-where---- | Should atomically write a file by writing it to a tmp file then renaming it.--- TODO: Does not yet work as advertised.-atomicWriteFile :: FilePath -> String -> IO ()-atomicWriteFile filePath str- = do writeFile filePath str
buildbox.cabal view
@@ -1,5 +1,5 @@ Name: buildbox-Version: 1.5.0.1+Version: 1.5.1.1 License: BSD3 License-file: LICENSE Author: Ben Lippmeier@@ -76,4 +76,3 @@ BuildBox.Build.Base BuildBox.Aspect.Aspect BuildBox.Benchmark.Benchmark- BuildBox.IO.File