From c236cda401d401bf5b42d3546ee2f117d5729219 Mon Sep 17 00:00:00 2001 From: Evan Cofsky Date: Mon, 20 May 2013 21:17:31 -0700 Subject: Have Build and Rebuild exit with a status to the shell. --- src/Hakyll/Commands.hs | 18 +++++++----------- src/Hakyll/Main.hs | 6 +++--- 2 files changed, 10 insertions(+), 14 deletions(-) (limited to 'src/Hakyll') 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') -- cgit v1.2.3