refactor: Carve CLI and Version modules out of Config (#1806)

This commit is contained in:
Remo Rechkemmer
2021-04-12 19:17:47 +02:00
committed by GitHub
parent 67ca814d0b
commit 801e229c59
7 changed files with 221 additions and 201 deletions
+29
View File
@@ -0,0 +1,29 @@
{-# LANGUAGE TemplateHaskell #-}
{-# OPTIONS_GHC -fno-warn-type-defaults #-}
module PostgREST.Version
( docsVersion
, prettyVersion
) where
import qualified Data.Text as T
import Data.Version (versionBranch)
import Development.GitRev (gitHash)
import Paths_postgrest (version)
import Protolude
-- | User friendly version number
prettyVersion :: Text
prettyVersion =
T.intercalate "." (map show $ versionBranch version) <> gitRev
where
gitRev =
if $(gitHash) == "UNKNOWN"
then mempty
else " (" <> T.take 7 $(gitHash) <> ")"
-- | Version number used in docs
docsVersion :: Text
docsVersion = "v" <> T.dropEnd 1 (T.dropWhileEnd (/= '.') prettyVersion)