{-# LANGUAGE TemplateHaskell #-}
module Main where
import Distribution.PackageDescription.TH
import Control.Monad (when)
main :: IO ()
main = do
let simpleAssert msg a b =
when (a /= b) $
error (msg ++ ": expected " ++ b ++ ", read: " ++ a)
putStrLn $ "This package is version " ++ $(packageVariable (pkgVersion . package))
let testVersion = $(packageVariableFrom "test/test-version-interp.cabal" (pkgVersion . package))
testCopyright = $(packageVariableFrom "test/test-version-interp.cabal" (packageString . copyright))
simpleAssert "version" testVersion "5.5.5"
simpleAssert "copyright" testCopyright "(c) 1953 Gumby"
putStrLn "Everything went better than expected."