gitによるversionを取得するAPIを追加
gitrevを使ってjsonを作る
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE DeriveGeneric #-}
module Version where
import Data.Aeson
import Development.GitRev
import GHC.Generics
data LibVersion = LibVersion
{ branch :: String
, commit :: String
, dirty :: Bool
} deriving (Generic, Show)
instance ToJSON LibVersion
instance FromJSON LibVersion
libVersion :: LibVersion
これをservantか何かで提供する。
getVersion :: Handler LibVersion
getVersion = return libVersion
多分社内用のAPIとかに便利。
$ curl http://localhost:8080/version
{"dirty":true,"branch":"master","commit":"xxxxxxxxxxx"}