packages feed

pansite-0.2.0.0: app/PansiteApp/VersionInfo.hs

{-|
Module      : Pansite.VersionInfo
Description : Version information for Pansite application
Copyright   : (C) Richard Cook, 2017-2018
Licence     : MIT
Maintainer  : rcook@rcook.org
Stability   : experimental
Portability : portable
-}

{-# LANGUAGE TemplateHaskell #-}

module PansiteApp.VersionInfo (fullVersionString) where

import           Data.Version
import           Distribution.VcsRevision.Git
import           Language.Haskell.TH.Syntax
import           Paths_pansite

gitVersionString :: String
gitVersionString = $(do
    v <- qRunIO getRevision
    lift $ case v of
        Nothing -> []
        Just (commit, True)  -> commit ++ " (locally modified)"
        Just (commit, False) -> commit)

fullVersionString :: String
fullVersionString = case gitVersionString of
    [] -> showVersion version
    v -> showVersion version ++ "." ++ v