mirror of
https://github.com/zhigang1992/graphql-engine.git
synced 2026-06-18 04:08:18 +08:00
* 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
36 lines
921 B
Haskell
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
|