packages feed

doctest-discover-configurator-0.1.0.6: src/Main.hs

module Main where

import System.Environment
import Control.Applicative
import Runner
import Config
import System.Directory
import System.FilePath

main :: IO ()
main = do
    (_ : _ : dst : args) <- getArgs
    customConfiguration <- case args of
                            (configFile : _) -> Just <$> config configFile
                            _ -> return Nothing
    let sources = case customConfiguration of
                    Just (Config _ (Just sourceFolders')) -> sourceFolders'
                    _ -> ["src"]
    files <- mapM getAbsDirectoryContents sources
    let testDriverFileContents = driver (concat files) customConfiguration
    writeFile dst testDriverFileContents

getAbsDirectoryContents :: FilePath -> IO [FilePath]
getAbsDirectoryContents dir = getDirectoryContents dir >>= mapM (canonicalizePath . (dir </>))