aboutsummaryrefslogtreecommitdiff
path: root/haddock-api/src/Haddock/Backends/Meta.hs
diff options
context:
space:
mode:
authorAlexander Biehl <alexbiehl@gmail.com>2017-08-30 09:24:56 +0200
committerGitHub <noreply@github.com>2017-08-30 09:24:56 +0200
commitf506a356cec79336d516a4b5b0d1948bbce8c78b (patch)
treec685da31c4242827d259ba8604eea3be296d39fb /haddock-api/src/Haddock/Backends/Meta.hs
parenta0fe59977daabc5c31cdc0b9a48e87502e2a86f3 (diff)
Write meta.json when generating html output (#676)
Diffstat (limited to 'haddock-api/src/Haddock/Backends/Meta.hs')
-rw-r--r--haddock-api/src/Haddock/Backends/Meta.hs22
1 files changed, 22 insertions, 0 deletions
diff --git a/haddock-api/src/Haddock/Backends/Meta.hs b/haddock-api/src/Haddock/Backends/Meta.hs
new file mode 100644
index 00000000..c62c1ae8
--- /dev/null
+++ b/haddock-api/src/Haddock/Backends/Meta.hs
@@ -0,0 +1,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) \ No newline at end of file