module Development.Shake.Clean ( cleanElm
, cleanProducts
, cleanHaskell
) where
import Development.Shake
cleanElm :: Action ()
cleanElm =
removeFilesAfter "elm-stuff" ["//*"] >>
removeFilesAfter "." ["//*.elmi"]
cleanProducts :: Action ()
cleanProducts = removeFilesAfter "." ["//*.so", "//*.o", "//*.a"]
cleanHaskell :: Action ()
cleanHaskell =
mapM_ (\p -> removeFilesAfter p ["//*"])
[ "dist", "dist-newstyle", ".stack-work", ".cabal-sandbox" ] >>
removeFilesAfter "."
["//*.o", "//*.ghc.*", "//*_stub.h", "//*.hi", "//*.dyn_o", "//*.p_o", "//*.dyn_hi", "//*.p_hi", "//*.hc", "//*.haddock", "cabal.sandbox.config"]