module CodecovHaskellCmdLine where
import Data.List
import Data.Version (Version(..))
import Paths_codecov_haskell (version)
import System.Console.CmdArgs
data CodecovHaskellArgs = CmdMain
{ token :: Maybe String
, excludeDirs :: [String]
, testSuites :: [String]
, displayReport :: Bool
, printResponse :: Bool
, dontSend :: Bool
} deriving (Data, Show, Typeable)
codecovHaskellArgs :: CodecovHaskellArgs
codecovHaskellArgs = CmdMain
{ token = Nothing &= explicit &= typDir &= name "token" &= help "Codecov token for this repository"
, excludeDirs = [] &= explicit &= typDir &= name "exclude-dir" &= help "Exclude sources files under the matching directory from the coverage report"
, displayReport = False &= explicit &= name "display-report" &= help "Display the json code coverage report that will be sent to codecov.io"
, printResponse = False &= explicit &= name "print-response" &= help "Prints the json reponse received from codecov.io"
, dontSend = False &= explicit &= name "dont-send" &= help "Do not send the report to codecov.io"
, testSuites = [] &= typ "TEST-SUITE" &= args
} &= summary ("codecov-haskell-" ++ versionString version ++ ", (C) Guillaume Nargeot 2014")
&= program "codecov-haskell"
where versionString = intercalate "." . map show . versionBranch