Minor refactor of keter function

This commit is contained in:
Bryan Richter 2015-03-04 09:55:03 -08:00
parent 6b43e08f89
commit 5b9e616ee2

View File

@ -9,7 +9,7 @@ import qualified Data.Text as T
import System.Exit import System.Exit
import System.Process import System.Process
import Control.Monad import Control.Monad
import System.Directory import System.Directory hiding (findFiles)
import Data.Maybe (mapMaybe) import Data.Maybe (mapMaybe)
import qualified Filesystem.Path.CurrentOS as F import qualified Filesystem.Path.CurrentOS as F
import qualified Filesystem as F import qualified Filesystem as F
@ -57,14 +57,14 @@ keter cabal noBuild = do
mapM_ go $ Map.toList v mapM_ go $ Map.toList v
where where
go ("exec", String s) = tellFile s go ("exec", String s) = tellFile s
go ("extraFiles", Array v) = Fold.mapM_ tellFile' v go ("extraFiles", Array a) = Fold.mapM_ tellExtra a
go (_, v') = findFiles v' go (_, v') = findFiles v'
tellFile s = tell [F.collapse $ "config" F.</> F.fromText s]
tellExtra (String s) = tellFile s
tellExtra _ = error "extraFiles should be a flat array"
findFiles (Array v) = Fold.mapM_ findFiles v findFiles (Array v) = Fold.mapM_ findFiles v
findFiles _ = return () findFiles _ = return ()
bundleFiles = execWriter $ findFiles $ Object value bundleFiles = execWriter $ findFiles $ Object value
tellFile s = tell [F.collapse $ "config" F.</> F.fromText s]
tellFile' (String s) = tellFile s
tellFile' _ = error "extraFiles should be a flat array"
unless noBuild $ do unless noBuild $ do
run cabal ["clean"] run cabal ["clean"]