diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-06-03 18:24:17 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-06-07 10:24:38 -0400 |
commit | 9bb58799d2ce58f6aef772df79ad26210403aded (patch) | |
tree | 1af932ec6a6d123018a4520db874efdfbba92857 | |
parent | da26ffe795f1861783c1b031ed93f9fa59550f85 (diff) | |
download | haskell-9bb58799d2ce58f6aef772df79ad26210403aded.tar.gz |
Hadrian: Delete target symlink in createFileLinkUntracked
Previously createFileLinkUntracked would fail if the symlink already
existed.
-rw-r--r-- | hadrian/src/Hadrian/Utilities.hs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/hadrian/src/Hadrian/Utilities.hs b/hadrian/src/Hadrian/Utilities.hs index e8bf7933e8..a1386e68fc 100644 --- a/hadrian/src/Hadrian/Utilities.hs +++ b/hadrian/src/Hadrian/Utilities.hs @@ -34,6 +34,7 @@ module Hadrian.Utilities ( Dynamic, fromDynamic, toDyn, TypeRep, typeOf ) where +import Control.Applicative import Control.Monad.Extra import Data.Char import Data.Dynamic (Dynamic, fromDynamic, toDyn) @@ -296,7 +297,9 @@ createFileLinkUntracked linkTarget link = do let dir = takeDirectory link liftIO $ IO.createDirectoryIfMissing True dir putProgressInfo =<< renderCreateFileLink linkTarget link - quietly . liftIO $ IO.createFileLink linkTarget link + quietly . liftIO $ do + IO.removeFile link <|> return () + IO.createFileLink linkTarget link -- | Link a file tracking the link target. Create the target directory if -- missing. |