diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2025-11-14 20:36:26 +0100 |
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2025-11-14 20:36:26 +0100 |
| commit | 3f6c94f897231b407e3c976e8d789d420ee5e6b7 (patch) | |
| tree | 0fee6b28c78c7206c7112a575891b4ab5411ccd4 /src/Destination.hs | |
| parent | 00e5bc0f9874eb9f929e917ba44bbd7b6f2ca4a8 (diff) | |
Separate module for file-related utilities
Diffstat (limited to 'src/Destination.hs')
| -rw-r--r-- | src/Destination.hs | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/src/Destination.hs b/src/Destination.hs index dccac03..4fd8cd8 100644 --- a/src/Destination.hs +++ b/src/Destination.hs @@ -10,7 +10,6 @@ module Destination ( copyRecursiveForce, ) where -import Control.Monad import Control.Monad.IO.Class import Data.Text (Text) @@ -19,6 +18,8 @@ import Data.Text qualified as T import System.FilePath import System.Directory +import FileUtils + data Destination = FilesystemDestination FilePath @@ -51,22 +52,3 @@ copyToDestination source (FilesystemDestination base) inner = do liftIO $ do createDirectoryIfMissing True $ takeDirectory target copyRecursiveForce source target - - -copyRecursive :: FilePath -> FilePath -> IO () -copyRecursive from to = do - doesDirectoryExist from >>= \case - False -> do - copyFile from to - True -> do - createDirectory to - content <- listDirectory from - forM_ content $ \name -> do - copyRecursive (from </> name) (to </> name) - -copyRecursiveForce :: FilePath -> FilePath -> IO () -copyRecursiveForce from to = do - doesDirectoryExist to >>= \case - False -> return () - True -> removeDirectoryRecursive to - copyRecursive from to |