packages feed

cabal-test-bin-0.1.4: Main.hs

{-# LANGUAGE ScopedTypeVariables #-}

import qualified Control.Exception as E
import System.Environment
import System.Exit
import System.IO
import Test.Cabal.Path

main :: IO ()
main = do
  args <- getArgs
  case args of
    (dir:binName:[]) -> do
      eBinPath <- E.try $ getExePath dir binName
      case eBinPath of
        Right binPath -> do
          putStrLn binPath
          exitWith $ ExitSuccess
        Left (err::E.SomeException) -> do
          putStr $ show err
          exitWith $ ExitFailure 1
    _ -> do
      hPutStrLn stderr "Usage: cabal-test-bin \"project's root directory\" \"executable-program-name\""
      exitWith $ ExitFailure 1