packages feed

kibro-0.0: executable/Main.hs

module Main where

import System
import System.IO
import System.Directory
import Text.Printf
import Data.Maybe
import Data.List
import System.FilePath
import Data.Validate
import Control.Applicative

import Data.Lighttpd

import New
import Help
import Build
import Start
import Restart
import Stop

import Utils

main :: IO ()
main = do
  args <- getArgs
  case args of
    (cmd:opts) -> runCmd cmd opts
    _          -> showHelp

runCmd :: String -> [String] -> IO ()
runCmd cmd xs = fromMaybe showHelp $ lookup cmd commands >>= return . ($ xs)

commands :: [(String, [String] -> IO ())]
commands = [("new",new)
           ,("build",build)
           ,("start",start)
           ,("restart",restart)
           ,("stop",stop)
           ,("refresh",refresh)]