-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathgenerate-docs.hs
More file actions
40 lines (34 loc) · 870 Bytes
/
generate-docs.hs
File metadata and controls
40 lines (34 loc) · 870 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/runghc
-- On Unix/MacOSX run as:
-- ./generate-docs.hs
--
-- On Windows:
-- runghc generate-docs.hs
--
-- Then point your browser at ./doc/index.html
import System.Process
import System.Directory
import System.FilePath
import System.Exit
import Control.Monad
import Data.Char
outDir = "doc"
shareDir = "share"
srcDir = "src"
main = do
libmodules <- getLibModules
exitcode <- rawSystem "haddock" (haddockArgs libmodules)
when (exitcode /= ExitSuccess) $
putStrLn "Generating 'haddock' documentation failed"
exitWith exitcode
getLibModules :: IO [FilePath]
getLibModules = do
files <- getDirectoryContents shareDir
return [ shareDir </> file
| file <- files
, takeExtension file == ".hs", isUpper (head file) ]
haddockArgs libmodules =
[ "--html"
, "-o", outDir
, "--optghc=-i" ++ srcDir ]
++ libmodules