From df758d828bf8861accb1ed424d021ae3eaff31fd Mon Sep 17 00:00:00 2001 From: Arjun Kathuria Date: Tue, 24 Aug 2021 20:39:07 +0530 Subject: [PATCH] swap checkFileAlreadyExists with throwIfFileAlreadyExists --- lib/GHCup.hs | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/lib/GHCup.hs b/lib/GHCup.hs index ee563f6..afc6552 100644 --- a/lib/GHCup.hs +++ b/lib/GHCup.hs @@ -484,8 +484,7 @@ installCabalUnpacked path inst mver' = do <> exeExt let destPath = inst destFileName - whenM (checkFileAlreadyExists destPath) - (throwE $ FileAlreadyExistsError destPath) + liftE $ throwIfFileAlreadyExists destPath handleIO (throwE . CopyError . show) $ liftIO $ copyFile (path cabalFile <> exeExt) @@ -627,9 +626,8 @@ installHLSUnpacked path inst mver' = do let srcPath = path f let destPath = inst toF - - whenM (checkFileAlreadyExists destPath) - (throwE $ FileAlreadyExistsError destPath) + + liftE $ throwIfFileAlreadyExists destPath handleIO (throwE . CopyError . show) $ liftIO $ copyFile srcPath @@ -644,8 +642,7 @@ installHLSUnpacked path inst mver' = do srcWrapperPath = path wrapper <> exeExt destWrapperPath = inst toF - whenM (checkFileAlreadyExists destWrapperPath) - (throwE $ FileAlreadyExistsError destWrapperPath) + liftE $ throwIfFileAlreadyExists destWrapperPath handleIO (throwE . CopyError . show) $ liftIO $ copyFile srcWrapperPath @@ -815,8 +812,7 @@ installStackUnpacked path inst mver' = do <> exeExt destPath = inst destFileName - whenM (checkFileAlreadyExists destPath) - (throwE $ FileAlreadyExistsError destPath) + liftE $ throwIfFileAlreadyExists destPath handleIO (throwE . CopyError . show) $ liftIO $ copyFile (path stackFile <> exeExt) @@ -2380,4 +2376,10 @@ whereIsTool tool ver@GHCTargetVersion {..} = do liftIO $ canonicalizePath currentRunningExecPath +throwIfFileAlreadyExists :: ( MonadIO m ) => + FilePath -> + Excepts '[FileAlreadyExistsError] m () + +throwIfFileAlreadyExists fp = whenM (checkFileAlreadyExists fp) + (throwE $ FileAlreadyExistsError fp)