aboutsummaryrefslogtreecommitdiff
path: root/haddock-api/src/Haddock/Backends/Meta.hs
blob: c62c1ae82decba7ed2e0caa0455b263733998d69 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
module Haddock.Backends.Meta where

import Haddock.Utils.Json
import Haddock.Version

import Data.ByteString.Builder (hPutBuilder)
import System.FilePath ((</>))
import System.IO (withFile, IOMode (WriteMode))

-- | Writes a json encoded file containing additional
-- information about the generated documentation. This
-- is useful for external tools (e.g. hackage).
writeHaddockMeta :: FilePath -> IO ()
writeHaddockMeta odir = do
  let
    meta_json :: Value
    meta_json = object [
        "haddock_version" .= String projectVersion
      ]

  withFile (odir </> "meta.json") WriteMode $ \h ->
    hPutBuilder h (encodeToBuilder meta_json)