hackager-1.3.0.0: src/Record.hs
-- | Record tool. Build all of hackage.
module Record (
record,
recordHelp
) where
import Control.Monad.State
import System.Exit
import System.IO
import BuildManager
import HackageMonad
import RecordOptions
-- | Run the recording tool.
record :: [String] -> IO ()
record args = do
st <- startState
evalStateT (recordST args) st
-- | Hackage Test (Monad).
recordST :: [String] -> Hkg ()
recordST args = do
liftIO $ hSetBuffering stdout NoBuffering
case args of
[ ] -> liftIO $ recordHelp (ExitFailure 1)
["--help"] -> liftIO $ recordHelp ExitSuccess
_ -> do
processArgs args
setupBuildDir
ps1 <- getPkgs
ps2 <- case ps1 of
[] -> getAllHackage
_ -> return ps1
ps3 <- filterPackages ps2
tryBuildingPackages ps3