module Haddock.Backends.Xhtml.Meta where import Haddock.Utils.Json import Haddock.Version import Data.ByteString.Builder (hPutBuilder) import System.FilePath (()) import System.IO (withFile, IOMode (WriteMode)) -- | Everytime breaking changes to the Quckjump api -- happen this needs to be modified. quickjumpVersion :: Int quickjumpVersion = 1 -- | 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 , "quickjump_version" .= quickjumpVersion ] withFile (odir "meta.json") WriteMode $ \h -> hPutBuilder h (encodeToBuilder meta_json)