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"}