diff options
author | Evan Cofsky <evan@tunixman.com> | 2013-05-20 21:17:31 -0700 |
---|---|---|
committer | Evan Cofsky <evan@tunixman.com> | 2013-05-20 21:17:31 -0700 |
commit | c236cda401d401bf5b42d3546ee2f117d5729219 (patch) | |
tree | b8e83ed40ae684748aa66c3c18f04cd97ab4ec07 /src/Hakyll | |
parent | 2430751164c4bc19f1e15419a92a37e7f703794a (diff) | |
download | hakyll-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.hs | 18 | ||||
-rw-r--r-- | src/Hakyll/Main.hs | 6 |
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') |