-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Continuous integration library. -- @package bake @version 0.0 module Development.Bake.Git data SHA1 -- | Given a repo name, and a set of tests, produce something that runs -- from git ovenGit :: String -> String -> Oven SHA1 SHA1 test -> Oven SHA1 SHA1 test instance Read SHA1 instance Show SHA1 module Development.Bake.Email ovenEmail :: (Host, Port) -> Oven state patch test -> Oven state (patch, [String]) test -- | Define a continuous integration system. module Development.Bake bake :: (Show state, Read state, Show patch, Read patch, Show test, Read test) => Oven state patch test -> IO () data Candidate state patch Candidate :: state -> [patch] -> Candidate state patch data Oven state patch test Oven :: (Maybe (Candidate state patch) -> IO state) -> (Candidate state patch -> Maybe test -> TestInfo test) -> (patch -> Maybe test -> IO ()) -> (patch -> IO String) -> (Host, Port) -> Oven state patch test -- | Given a state, and a set of candiates that have passed, merge to -- create a new state. ovenUpdateState :: Oven state patch test -> Maybe (Candidate state patch) -> IO state -- | Produce information about a test ovenRunTest :: Oven state patch test -> Candidate state patch -> Maybe test -> TestInfo test -- | A patch has been marked as failing, tell everyone. ovenPatchReject :: Oven state patch test -> patch -> Maybe test -> IO () -- | Extra information about the patch ovenPatchExtra :: Oven state patch test -> patch -> IO String -- | Default server to use ovenDefaultServer :: Oven state patch test -> (Host, Port) data TestInfo test defaultOven :: Oven state patch test run :: IO [test] -> TestInfo test threads :: Int -> TestInfo test -> TestInfo test threadsAll :: TestInfo test -> TestInfo test before :: [test] -> TestInfo test -> TestInfo test beforeClear :: TestInfo test -> TestInfo test require :: String -> TestInfo test -> TestInfo test startServer :: (Show state, Read state, Show patch, Read patch, Show test, Read test) => Port -> Author -> String -> Oven state patch test -> IO () startClient :: (Host, Port) -> Author -> String -> [String] -> Int -> IO () sendPause :: (Host, Port) -> Author -> IO () sendUnpause :: (Host, Port) -> Author -> IO () sendAddPatch :: Show patch => (Host, Port) -> Author -> patch -> IO () sendDelPatch :: Show patch => (Host, Port) -> Author -> patch -> IO () sendDelAllPatches :: (Host, Port) -> Author -> IO () type Host = String type Port = Int