packages feed

persistent-relational-record-0.1.0.0: tests/hlint.hs

module Main where

import Control.Monad
import Data.Maybe
import Language.Haskell.HLint
import System.Environment
import System.Exit

main :: IO ()
main = do
    args <- getArgs
    cabalMacros <- getCabalMacrosPath
    hints <- hlint $ ["src", "--cpp-define=HLINT", "--cpp-ansi", "--cpp-file=" ++ cabalMacros] ++ args
    unless (null hints) exitFailure

getCabalMacrosPath :: IO FilePath
getCabalMacrosPath = do
    env <- getEnvironment
    let dist = fromMaybe "dist" $ lookup "HASKELL_DIST_DIR" env
    return $ dist ++ "/build/autogen/cabal_macros.h"