summaryrefslogtreecommitdiff
path: root/src/Hakyll
diff options
context:
space:
mode:
Diffstat (limited to 'src/Hakyll')
-rw-r--r--src/Hakyll/Commands.hs20
-rw-r--r--src/Hakyll/Main.hs6
2 files changed, 10 insertions, 16 deletions
diff --git a/src/Hakyll/Commands.hs b/src/Hakyll/Commands.hs
index 6d6b0ae..7e4ba1c 100644
--- a/src/Hakyll/Commands.hs
+++ b/src/Hakyll/Commands.hs
@@ -13,8 +13,8 @@ module Hakyll.Commands
--------------------------------------------------------------------------------
-import System.Exit (exitWith)
-
+import System.Exit (exitWith, ExitCode)
+import Control.Applicative
--------------------------------------------------------------------------------
import qualified Hakyll.Check as Check
@@ -25,7 +25,6 @@ import Hakyll.Core.Rules.Internal
import Hakyll.Core.Runtime
import Hakyll.Core.Util.File
-
--------------------------------------------------------------------------------
#ifdef PREVIEW_SERVER
import Hakyll.Preview.Poll
@@ -35,11 +34,8 @@ import Hakyll.Preview.Server
--------------------------------------------------------------------------------
-- | Build the site
-build :: Configuration -> Verbosity -> Rules a -> IO ()
-build conf verbosity rules = do
- _ <- run conf verbosity rules
- return ()
-
+build :: Configuration -> Verbosity -> Rules a -> IO ExitCode
+build conf verbosity rules = fst <$> run conf verbosity rules
--------------------------------------------------------------------------------
-- | Run the checker and exit
@@ -78,11 +74,9 @@ preview _ _ _ _ = previewServerDisabled
--------------------------------------------------------------------------------
-- | Rebuild the site
-rebuild :: Configuration -> Verbosity -> Rules a -> IO ()
-rebuild conf verbosity rules = do
- clean conf
- build conf verbosity rules
-
+rebuild :: Configuration -> Verbosity -> Rules a -> IO ExitCode
+rebuild conf verbosity rules =
+ clean conf >> build conf verbosity rules
--------------------------------------------------------------------------------
-- | Start a server
diff --git a/src/Hakyll/Main.hs b/src/Hakyll/Main.hs
index 527548d..0f0d340 100644
--- a/src/Hakyll/Main.hs
+++ b/src/Hakyll/Main.hs
@@ -13,7 +13,7 @@ import System.Console.CmdArgs
import qualified System.Console.CmdArgs.Explicit as CA
import System.Environment (getProgName)
import System.IO.Unsafe (unsafePerformIO)
-
+import System.Exit (exitWith)
--------------------------------------------------------------------------------
import qualified Hakyll.Check as Check
@@ -41,13 +41,13 @@ hakyllWith conf rules = do
if internal_links args' then Check.InternalLinks else Check.All
case args' of
- Build _ -> Commands.build conf verbosity' rules
+ Build _ -> Commands.build conf verbosity' rules >>= exitWith
Check _ _ -> Commands.check conf verbosity' check'
Clean _ -> Commands.clean conf
Deploy _ -> Commands.deploy conf
Help _ -> showHelp
Preview _ p -> Commands.preview conf verbosity' rules p
- Rebuild _ -> Commands.rebuild conf verbosity' rules
+ Rebuild _ -> Commands.rebuild conf verbosity' rules >>= exitWith
Server _ _ -> Commands.server conf (port args')