diff --git a/Scaffold/Build.hs b/Scaffold/Build.hs index 2c7d4e95..e479b6a0 100644 --- a/Scaffold/Build.hs +++ b/Scaffold/Build.hs @@ -1,6 +1,7 @@ {-# LANGUAGE OverloadedStrings #-} module Scaffold.Build ( build + , touch , getDeps , touchDeps , findHaskellFiles @@ -27,6 +28,14 @@ import Data.Text (unpack) import Control.Monad (filterM) import Control.Exception (SomeException, try) +-- | Touch any files with altered dependencies but do not build +touch :: IO () +touch = do + hss <- findHaskellFiles "." + deps' <- mapM determineHamletDeps hss + let deps = fixDeps $ zip hss deps' + touchDeps deps + build :: IO () build = do {- diff --git a/scaffold.hs b/scaffold.hs index 9df2a419..49f68ea2 100644 --- a/scaffold.hs +++ b/scaffold.hs @@ -13,7 +13,7 @@ import qualified Data.Text.Lazy.Encoding as LT import Control.Monad (when, unless) import System.Environment (getArgs) -import Scaffold.Build (build) +import Scaffold.Build (build, touch) import Scaffold.Devel (devel) qq :: String @@ -38,12 +38,14 @@ main = do case args of ["init"] -> scaffold ["build"] -> build + ["touch"] -> touch ["devel"] -> devel _ -> do putStrLn "Usage: yesod " putStrLn "Available commands:" putStrLn " init Scaffold a new site" putStrLn " build Build project (performs TH dependency analysis)" + putStrLn " touch Touch any files with altered TH dependencies but do not build" putStrLn " devel Run project with the devel server" puts :: String -> IO ()