geni-util-0.24.1: geni-util-cmd/Config.hs
{-# LANGUAGE DeriveDataTypeable #-}
module Config where
import Data.Version
import Data.Word (Word16)
import System.Console.CmdArgs
import Paths_geni_util (version)
data GeniUtil = Client
{ server :: String
, port :: Word16
, suite :: FilePath
, batchDir :: FilePath
}
| Report
{ inputDir :: FilePath
, outputDir :: FilePath
}
deriving (Typeable, Data, Eq, Show)
geniUtil :: String -> GeniUtil
geniUtil p = modes
[ Client
{ server = def &= argPos 0 &= typ "URL"
, suite = def &= typFile
, port = 4364 &= typ "PORT"
, batchDir = def &= typDir
}
, Report
{ inputDir = def &= argPos 0 &= typDir
, outputDir = def &= argPos 1 &= typDir
}
] &= program p
&= help (p ++ " " ++ showVersion version)