Files
graphql-engine/server/src-lib/Hasura/Server/Version.hs
Shahidh K Muhammed de24cfd43a read version from env var during server build time (close #1398) (#1897)
* read version from env var at build time (close #1398)

* remove un-used imports, edit makefile

* edit makefile to add new targets and export variables

* only export VERSION in makefile

* read version by executing the script if env var is absent
2019-04-11 09:41:48 +05:30

36 lines
921 B
Haskell

module Hasura.Server.Version
( currentVersion
, consoleVersion
, isDevVersion
)
where
import Control.Lens ((^.))
import qualified Data.SemVer as V
import qualified Data.Text as T
import Hasura.Prelude
import Hasura.Server.Utils (getValFromEnvOrScript)
version :: T.Text
version = T.dropWhileEnd (== '\n') $(getValFromEnvOrScript "VERSION" "../scripts/get-version.sh")
consoleVersion :: T.Text
consoleVersion = case V.fromText $ T.dropWhile (== 'v') version of
Right ver -> mkVersion ver
Left _ -> version
mkVersion :: V.Version -> T.Text
mkVersion ver = T.pack $ "v" ++ show major ++ "." ++ show minor
where
major = ver ^. V.major
minor = ver ^. V.minor
currentVersion :: T.Text
currentVersion = version
isDevVersion :: Bool
isDevVersion = either (const True) (const False) $
V.fromText $ T.dropWhile (== 'v') version