Mercurial > projects > dil
annotate trunk/src/docgen/docgen.d @ 456:de2675bc9afa
Dependency lists, minor cleanup.
author | Jari-Matti M?kel? <jmjm@iki.fi> |
---|---|
date | Tue, 30 Oct 2007 02:35:56 +0200 |
parents | f92505ad18ab |
children | 33a4cb255fcc |
rev | line source |
---|---|
395
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
1 /** |
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
2 * Author: Jari-Matti Mäkelä |
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
3 * License: GPL3 |
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
4 */ |
441 | 5 module docgen.docgen; |
395
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
6 |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
7 import docgen.sourcelisting.writers; |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
8 import docgen.document.writers; |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
9 import docgen.graphutils.writers; |
446 | 10 import docgen.misc.misc; |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
11 import docgen.misc.parser; |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
12 import docgen.config.configurator; |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
13 import tango.core.Array; |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
14 import tango.io.stream.FileStream; |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
15 import tango.text.Ascii; |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
16 import tango.text.Util : replace; |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
17 import tango.io.FilePath; |
456
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
18 |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
19 import tango.io.Stdout; |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
20 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
21 template DefaultDocGenerator(char[] genDir) { |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
22 abstract class DefaultDocGenerator : DocGenerator { |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
23 DocGeneratorOptions m_options; |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
24 DocumentWriter docWriter; |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
25 GraphWriterFactory graphFactory; |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
26 |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
27 Module[] modules; |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
28 Edge[] edges; |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
29 Vertex[char[]] vertices; |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
30 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
31 this(DocGeneratorOptions options) { |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
32 m_options = options; |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
33 graphFactory = new DefaultGraphWriterFactory(this); |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
34 |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
35 // create output dir |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
36 (new FilePath(options.outputDir ~ "/" ~ genDir)).create(); |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
37 } |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
38 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
39 // TODO: constructor for situations where parsing has happened elsewhere |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
40 |
456
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
41 protected char[] outPath(char[] file) { |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
42 return options.outputDir ~ "/" ~ genDir ~ "/" ~ file; |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
43 } |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
44 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
45 void parseSources() { |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
46 int id = 1; |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
47 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
48 Parser.loadModules( |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
49 options.parser.rootPaths, |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
50 options.parser.importPaths, |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
51 options.parser.strRegexps, |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
52 options.graph.includeUnlocatableModules, |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
53 options.graph.depth, |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
54 (char[] fqn, char[] path, Module m) { |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
55 if (m is null) { |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
56 if (fqn in vertices) { |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
57 debug Stdout.format("{} already set.\n", fqn); |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
58 return; |
453
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
59 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
60 } |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
61 auto vertex = new Vertex(fqn, path, id++); |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
62 vertex.type = VertexType.UnlocatableModule; |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
63 vertices[fqn] = vertex; |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
64 debug Stdout.format("Setting {} = {}.\n", fqn, path); |
453
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
65 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
66 } else { |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
67 vertices[m.moduleFQN] = new Vertex(m.moduleFQN, m.filePath, id++); |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
68 debug Stdout.format("Setting {} = {}.\n", m.moduleFQN, m.filePath); |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
69 } |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
70 }, |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
71 (Module imported, Module importer) { |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
72 debug Stdout.format("Connecting {} - {}.\n", imported.moduleFQN, importer.moduleFQN); |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
73 edges ~= vertices[imported.moduleFQN].addChild(vertices[importer.moduleFQN]); |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
74 }, |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
75 modules |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
76 ); |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
77 } |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
78 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
79 void createDepGraph(char[] depGraphFile) { |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
80 auto imgFile = new FileOutput(outPath(depGraphFile)); |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
81 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
82 auto writer = graphFactory.createGraphWriter( docWriter, GraphFormat.Dot ); |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
83 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
84 writer.generateDepGraph(vertices.values, edges, imgFile); |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
85 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
86 imgFile.close(); |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
87 } |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
88 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
89 public DocGeneratorOptions *options() { |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
90 return &m_options; |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
91 } |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
92 } |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
93 } |
395
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
94 |
456
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
95 class HTMLDocGenerator : DefaultDocGenerator!("html") { |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
96 this(DocGeneratorOptions options) { |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
97 super(options); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
98 } |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
99 public void generate() { /* TODO */ } |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
100 } |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
101 class XMLDocGenerator : DefaultDocGenerator!("xml") { |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
102 this(DocGeneratorOptions options) { |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
103 super(options); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
104 } |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
105 public void generate() { /* TODO */ } |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
106 } |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
107 class PlainTextDocGenerator : DefaultDocGenerator!("txt") { |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
108 this(DocGeneratorOptions options) { |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
109 super(options); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
110 } |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
111 public void generate() { /* TODO */ } |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
112 } |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
113 |
395
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
114 /** |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
115 * Main routine for LaTeX doc generation. |
395
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
116 */ |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
117 class LaTeXDocGenerator : DefaultDocGenerator!("latex") { |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
118 this(DocGeneratorOptions options) { |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
119 super(options); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
120 } |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
121 |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
122 /** |
453
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
123 * Generates document skeleton. |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
124 */ |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
125 void generateDoc(char[] docFileName) { |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
126 auto ddf = new DefaultDocumentWriterFactory(this); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
127 |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
128 auto docFile = new FileOutput(outPath(docFileName)); |
454
dbdc9fa5d479
depgraph fixes, better design for multiple doctargets.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
453
diff
changeset
|
129 docWriter = ddf.createDocumentWriter( [ docFile ], DocFormat.LaTeX ); |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
130 |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
131 docWriter.generateFirstPage(); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
132 docWriter.generateTOC(modules); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
133 docWriter.generateModuleSection(); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
134 docWriter.generateListingSection(); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
135 docWriter.generateDepGraphSection(); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
136 docWriter.generateIndexSection(); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
137 docWriter.generateLastPage(); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
138 |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
139 docFile.close(); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
140 } |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
141 |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
142 /** |
453
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
143 * Generates D language definition file. |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
144 */ |
453
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
145 void generateLangDef() { |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
146 auto docFile = new FileOutput(outPath("lstlang0.sty")); |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
147 docWriter.setOutput([docFile]); |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
148 |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
149 docWriter.generateLangDef(); |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
150 |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
151 docFile.close(); |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
152 } |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
153 |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
154 /** |
453
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
155 * Generates "makefile" for processing the .dot and .tex files. |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
156 */ |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
157 void generateMakeFile() { |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
158 auto docFile = new FileOutput(outPath("make.sh")); |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
159 docWriter.setOutput([docFile]); |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
160 |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
161 docWriter.generateMakeFile(); |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
162 |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
163 docFile.close(); |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
164 } |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
165 |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
166 /** |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
167 * Generates documentation for modules. |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
168 */ |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
169 void generateModules(char[] modulesFile) { |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
170 auto docFile = new FileOutput(outPath(modulesFile)); |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
171 docFile.close(); |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
172 } |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
173 |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
174 /** |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
175 * Generates source file listings. |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
176 */ |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
177 void generateListings(char[] listingsFile) { |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
178 auto dlwf = new DefaultListingWriterFactory(this); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
179 auto docFile = new FileOutput(outPath(listingsFile)); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
180 docWriter.setOutput([docFile]); |
454
dbdc9fa5d479
depgraph fixes, better design for multiple doctargets.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
453
diff
changeset
|
181 auto writer = dlwf.createListingWriter(docWriter, DocFormat.LaTeX); |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
182 |
453
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
183 /*modules.sort( |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
184 (Module a, Module b){ return icompare(a.moduleFQN, b.moduleFQN); } |
453
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
185 );*/ |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
186 |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
187 foreach(mod; modules) { |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
188 auto dstFname = replace(mod.moduleFQN.dup, '.', '_') ~ ".d"; |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
189 |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
190 auto srcFile = new FileInput(mod.filePath); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
191 auto dstFile = new FileOutput(outPath(dstFname)); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
192 |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
193 writer.generateListing(srcFile, dstFile, mod.moduleFQN); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
194 |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
195 srcFile.close(); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
196 dstFile.close(); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
197 } |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
198 |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
199 docFile.close(); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
200 } |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
201 |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
202 /** |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
203 * Generates dependency graphs. |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
204 */ |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
205 void generateDependencies(char[] depGraphTexFile, char[] depGraphFile) { |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
206 auto docFile = new FileOutput(outPath(depGraphTexFile)); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
207 docWriter.setOutput([docFile]); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
208 |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
209 createDepGraph(depGraphFile); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
210 |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
211 docFile.close(); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
212 } |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
213 |
446 | 214 public void generate() { |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
215 auto docFileName = "document.tex"; |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
216 auto depGraphTexFile = "dependencies.tex"; |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
217 auto depGraphFile = "depgraph.dot"; |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
218 auto listingFile = "files.tex"; |
453
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
219 auto modulesFile = "modules.tex"; |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
220 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
221 parseSources(); |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
222 |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
223 generateDoc(docFileName); |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
224 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
225 if (options.listing.enableListings) |
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
226 generateListings(listingFile); |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
227 |
453
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
228 generateModules(modulesFile); |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
229 |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
230 generateDependencies(depGraphTexFile, depGraphFile); |
395
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
231 |
453
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
232 generateLangDef(); |
4e5b35df3060
Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
452
diff
changeset
|
233 generateMakeFile(); |
395
ac9cd48151b6
Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff
changeset
|
234 } |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
235 } |
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
236 |
456
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
237 void usage() { |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
238 Stdout( |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
239 "Usage: docgen rootpath importpath_1 ... importpath_n outputdir" |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
240 ).newline; |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
241 } |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
242 |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
243 void main(char[][] args) { |
456
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
244 Stdout(docgen_version).newline.newline; |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
245 |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
246 if (args.length<3) { |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
247 usage(); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
248 return; |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
249 } |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
250 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
251 Configurator config = new DefaultConfigurator(); |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
252 |
455
f92505ad18ab
Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
454
diff
changeset
|
253 auto options = config.getConfiguration(); |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
254 options.parser.rootPaths = [ args[1] ]; |
456
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
255 options.parser.importPaths = args[2..$-1]; |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
256 options.outputDir = args[$-1]; |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
257 |
456
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
258 foreach(format; options.outputFormats) { |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
259 switch(format) { |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
260 case DocFormat.LaTeX: |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
261 auto generator = new LaTeXDocGenerator(*options); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
262 Stdout("Generating LaTeX docs.."); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
263 generator.generate(); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
264 Stdout("done.").newline; |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
265 break; |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
266 case DocFormat.HTML: |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
267 auto generator = new HTMLDocGenerator(*options); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
268 Stdout("Generating HTML docs.."); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
269 generator.generate(); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
270 Stdout("done.").newline; |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
271 break; |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
272 case DocFormat.XML: |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
273 auto generator = new XMLDocGenerator(*options); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
274 Stdout("Generating XML docs.."); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
275 generator.generate(); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
276 Stdout("done.").newline; |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
277 break; |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
278 case DocFormat.PlainText: |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
279 auto generator = new PlainTextDocGenerator(*options); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
280 Stdout("Generating plain text docs.."); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
281 generator.generate(); |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
282 Stdout("done.").newline; |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
283 break; |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
284 } |
de2675bc9afa
Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
455
diff
changeset
|
285 } |
452
f658ec4a15dd
Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
446
diff
changeset
|
286 } |