summaryrefslogtreecommitdiff
path: root/src/Hakyll
diff options
context:
space:
mode:
authorEvan Cofsky <evan@tunixman.com>2013-05-20 21:17:31 -0700
committerEvan Cofsky <evan@tunixman.com>2013-05-20 21:17:31 -0700
commitc236cda401d401bf5b42d3546ee2f117d5729219 (patch)
treeb8e83ed40ae684748aa66c3c18f04cd97ab4ec07 /src/Hakyll
parent2430751164c4bc19f1e15419a92a37e7f703794a (diff)
downloadhakyll-c236cda401d401bf5b42d3546ee2f117d5729219.tar.gz
Have Build and Rebuild exit with a status to the shell.
Diffstat (limited to 'src/Hakyll')
-rw-r--r--src/Hakyll/Commands.hs18
-rw-r--r--src/Hakyll/Main.hs6
2 files changed, 10 insertions, 14 deletions
diff --git a/src/Hakyll/Commands.hs b/src/Hakyll/Commands.hs
index 6d6b0ae..1df1d56 100644
--- a/src/Hakyll/Commands.hs
+++ b/src/Hakyll/Commands.hs
@@ -13,7 +13,7 @@ module Hakyll.Commands
--------------------------------------------------------------------------------
-import System.Exit (exitWith)
+import System.Exit (exitWith, ExitCode)
--------------------------------------------------------------------------------
@@ -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,10 @@ import Hakyll.Preview.Server
--------------------------------------------------------------------------------
-- | Build the site
-build :: Configuration -> Verbosity -> Rules a -> IO ()
+build :: Configuration -> Verbosity -> Rules a -> IO (ExitCode)
build conf verbosity rules = do
- _ <- run conf verbosity rules
- return ()
-
+ (ec, _) <- run conf verbosity rules
+ return ec
--------------------------------------------------------------------------------
-- | Run the checker and exit
@@ -78,11 +76,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')