summaryrefslogtreecommitdiff
path: root/src/Destination.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2025-11-14 20:36:26 +0100
committerRoman Smrž <roman.smrz@seznam.cz>2025-11-14 20:36:26 +0100
commit3f6c94f897231b407e3c976e8d789d420ee5e6b7 (patch)
tree0fee6b28c78c7206c7112a575891b4ab5411ccd4 /src/Destination.hs
parent00e5bc0f9874eb9f929e917ba44bbd7b6f2ca4a8 (diff)
Separate module for file-related utilities
Diffstat (limited to 'src/Destination.hs')
-rw-r--r--src/Destination.hs22
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