* Monodoc/provider.cs: Correct UseWebdocCache logic.
[mono.git] / mcs / tools / monodoc / ChangeLog
1 2009-04-15  Jonathan Pryor  <jpryor@novell.com>
2
3         * Monodoc/provider.cs: Correct UseWebdocCache logic.
4         * Monodoc/xhtml-provider.cs: Use GetCachedText().
5
6 2009-04-15  Jonathan Pryor  <jpryor@novell.com>
7
8         * Monodoc/provider.cs: UseWebdocCache is a better name that
9           IgnoreCache (considering that cache is disabled by default).
10
11 2009-04-15  Jonathan Pryor  <jpryor@novell.com>
12
13         * Monodoc/provider.cs:
14           - Add HelpSource.IgnoreCache field, so that if the cache is present 
15             it will be ignored.  (Required by 'mdoc export-html-webdoc' so it 
16             gets "fresh" content to generate the cache, and by monodoc GUI as 
17             it can't use the cache'd HTML; cache'd HTML is for ASP.NET 
18             webdoc only.)
19           - Alter the cache directory from e.g. sources/netdocs to 
20             sources/cache/netdocs (as defined by 
21             XmlDocUtils.GetCacheDirectory()).
22           - Add HelpSource.GetCachedText() method which will return the 
23             contents of the cache for an id.
24         * Monodoc/addins-provider.cs, Monodoc/ecma-provider.cs, 
25           Monodoc/error-provider.cs, Monodoc/man-provider.cs, 
26           Monodoc/simple-provider.cs: Use GetCachedText().
27         * Mono.Documentation/XmlDocUtils.cs: Add GetCacheDirectory(),
28           GetCacheFileName() methods.
29
30 2009-04-14  Jonathan Pryor  <jpryor@novell.com>
31
32         * Monodoc/provider.cs: Fix NullReferenceException in 'mdoc dump-tree'.
33
34 2009-04-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
35
36         * ecma-provider.cs: remove 'using'.
37         * provider.cs: if there's a directory with the base name, read the
38         files from there instead of from the .zip file.
39
40 2009-03-01  Jonathan Pryor  <jpryor@novell.com>
41
42         * Monodoc/ecma-provider.cs: Viewing type members (plural, e.g. the
43           Fields sub-node) would result in a stack overflow within
44           Resources/mdoc-html-utils.xsl:GetInheritedMembers(), because the
45           document() XSLT function was being used to obtain the base type's
46           documentation.  It stack overflowed because the XmlUrlResolver was
47           being used, which when given e.g. file:///DocAttribute.xml, would
48           return file:///DocAttribute.xml (which makes sense), but it was
49           non-terminating.  (I find this troubling as it should have been
50           trying to resolve e.g. System.Attribute, not DocAttribute; it must
51           be some XmlTransform-fu that was substituting documents.)
52           The fix is for EcmaUncompiledHelpSource to provide an alternate
53           document XmlResolver, one which always returns null from
54           XmlResolver.ResolveUri(), thus preventing endless recursion.
55
56 2009-03-01  Jonathan Pryor  <jpryor@novell.com>
57
58         * Mono.Documentation/XmlDocUtils.cs: It's possible for the `loader'
59           delegate to return `null' if no further base types are found, so
60           stop processing if we find a null base type.
61         * Monodoc/provider.cs: 
62           - Make GetHelpStream() virtual so that EcmaUncompiledHelpSource can
63             override it, as the default zip-based behavior is inappropriate.
64           - Make GetHelpXmlWithChanges() virtual so that
65             EcmaUncompiledHelpSource can override it, as the default zip-based
66             behavior is inappropriate.
67           - When initializing UncompiledHelpSources, set the
68             HelpSource.RootTree property (avoids an NRE from
69             EcmaHelpSource.GetTextFromUrl() when it reads RootTree.HelpSources).
70         * Monodoc/ecma-provider.cs: 
71           - Within the XmlDocUtils.AddExtensionMethods() call, don't always 
72             prefix the type with "T:", as sometimes the type will already start 
73             with "T:", which is the case with EcmaUncompiledHelpSource ids.  
74           - Add EcmaUncompiledHelpSource.GetHelpStream() and
75             EcmaUncompiledHelpSource.GetHelpXmlWithChanges(), which Do The
76             Right Thing for the file-based backend.
77
78 2009-03-01  Jonathan Pryor  <jpryor@novell.com>
79
80         * Monodoc/ecma-provider.cs: For some reason,
81           EcmaHelpSource.GetNamespaceDocument() wasn't being used anymore,
82           which is what EcmaUncompiledHelpSource overrides to permit loading
83           of local files.  Result: an exception when trying to view namespaces
84           of local (non-assembled) directories.  Oops.  "Fixes" 443508.
85
86 2009-02-26  Jonathan Pryor  <jonpryor@vt.edu>
87
88         * Monodoc/provider.cs: Revert; Don't check for Tree.Nodes == null, as it
89           happens in numerous places.  Instead, take a page out of the "I
90           never should have invented `null'" book, and ensure that Tree.Nodes
91           can never be null.  This fixes the "HelpSource has 0 items" issue
92           and several other related ones.
93
94 2009-02-26  Jonathan Pryor  <jonpryor@vt.edu>
95
96         * Monodoc/provider.cs: It's possible for a HelpSource to have 0
97           elements (which can be done by e.g. running `mdoc assemble' on an 
98           empty directory), in which case HelpSource.Tree.Nodes will be null.
99           Make sure that we don't get a NullReferenceException.
100           Patch thanks to Theerud Lawtrakul.  Fixes #443699.
101
102 2009-02-25  Jonathan Pryor  <jonpryor@vt.edu>
103
104         * Makefile: 
105           - s/TEST_FILES/MAN_TEST_FILES/g: $(TEST_FILES) is used by the normal
106             build process, so the local definition is lost (and thus ignored).
107             Result: Test/* isn't actually copied.  Oops.  Changing to
108             MAN_TEST_FILES allows things to be copied.
109           - Fix the filenames within $(MAN_TEST_FILES) so `make dist-local'
110             works without error.
111           - Fixes #479753.
112
113 2009-02-09  Jonathan Pryor  <jonpryor@vt.edu>
114
115         * Makefile: Don't include mono-ecma-css.js as a resource.
116         * Monodoc/ecma-provider.cs: Insert helper.js, not mono-ecma-css.js.
117         * Monodoc/provider.cs: Surround the contents of `helper.js' with a
118           <script/> block so that valid HTMl is generated.
119         * Resources/helper.js: Remove <script/> block, so that `helper.js' is an
120           actual JavaScript file, not an SGML file w/ JavaScript content.
121         * Resources/mono-ecma-css.js: Remove; use Resources/helper.js instead.
122
123 2009-01-05  Jonathan Pryor  <jonpryor@vt.edu>
124
125         * Makefile: Fix $(the_lib) dependencies so that monodoc.dll is rebuilt
126           when one of Resources/* is modified.
127         * Resources/mdoc-html-utils.xsl: Rework the Requirements block so that
128           it doesn't require //AssemblyInfo or //AssemblyVersion.  This allows
129           `mdoc update -fno-assembly-versions ...`-produced XML to still
130           produce HTML with a Requirements section (skipping the Assembly
131           Versions block but generating the Namespace and Assembly blocks).
132           Change the behavior of //since generation so that instead of
133           printing out a note before the method summary, a Since block is added
134           to the Requirements section, and the Since block contains the
135           //since/@version text.  All this to make Mike Kestner happier. :-)
136
137 2008-10-29  Jonathan Pryor  <jonpryor@vt.edu>
138
139         * Monodoc/xhtml-provider.cs: Use HelpSource.Message(), not 
140           Console.WriteLine().
141
142 2008-10-28  Jonathan Pryor  <jonpryor@vt.edu>
143
144         * Monodoc/provider.cs: Add HelpSource.InlineCss and
145           HelpSource.InlineJavaScript virtual properties, so that the help
146           source can provide specific CSS and JavaScript to be included into
147           the generated HTML document.  This is used by the ASP.NET front-end,
148           as it needs to insert the CSS & JavaScript separately (as it also
149           inserts its own CSS & JavaScript).
150         * Monodoc/ecma-provider.cs, Monodoc/ecmaspec-provider.cs,
151           Monodoc/error-provider.cs: Override InlineCss & InlineJavaScript, as
152           appropriate.
153
154 2008-10-24  Jonathan Pryor  <jonpryor@vt.edu>
155
156         * Monodoc/addins-provider.cs, Monodoc/ecma-provider.cs,
157           Monodoc/ecmaspec-provider.cs, Monodoc/error-provider.cs,
158           Monodoc/man-provider.cs, Monodoc/monohb-provider.cs,
159           Monodoc/provider.cs: Remove Console.WriteLine() spew; helps cleanup
160           `make` output in mcs/docs (from `mdoc assemble`, which indirectly
161           invokes most of the *-provider files).  We solve this problem by
162           providing a TraceLevel-based message system, so that messages are
163           only generated if they are less than or equal to the requested
164           output level (thus skipping the more verbose "every file" messages
165           from ecma-provider.cs & error-provider.cs).
166         * provider.cs: Change Node.CompareTo() to use a "natural sorting"
167           algorithm -- this allows the C# Language Specification nodes to
168           continue being displayed in the correct order.
169
170 2008-10-21  Jonathan Pryor  <jonpryor@vt.edu>
171
172         * Monodoc/provider.cs: 
173           - Fix Node.Sort() so that it doesn't NRE if nodes == null.
174           - Fix Node.CompareTo() so that it can sort Nodes that haven't been
175             loaded yet.
176           - Add "libraries" as an alias for "root", so that .source files can
177             refer to the parent "libraries" (which would allow us to change
178             the location of "libraries" in the future, should we want to).
179           - If a /monodoc/source/@path refers to a nonexistant node, then
180             insert the contents under Various instead of ignoring it.
181           - Sort the top-level nodes.
182           - Sort the `parent` node after inserting children under it.  This
183             allows multiple different .source files to insert nodes under the
184             same parent node and still have the child nodes sorted as most
185             mortals would expect.
186           - Support a //node/@parent attribute, which allows for creating
187             nodes underneath the specified parent node.  This allows multiple
188             different .source files to contribute to the tree and depend upon
189             each other.  Thus, instead of having a single monodoc.xml file
190             that needs to know the entire tree in advance, the entire tree can
191             be spread across multiple .source files and filled at runtime.
192
193 2008-10-18  Jonathan Pryor  <jonpryor@vt.edu>
194
195         * Makefile $(LIBRARY_PACKAGE): Set to `monodoc`, as we historically
196           have had a monodoc package (and thus should preserve it).
197
198 2008-10-17  Jonathan Pryor  <jonpryor@vt.edu>
199
200         * Makefile: Distribute monodoc.dll.config.in.
201
202 2008-10-17  Jonathan Pryor  <jonpryor@vt.edu>
203
204         * Makefile: Generate a monodoc.dll.config (installed by gacutil), so
205           that monodoc.dll can find the documentation sources.
206
207 2008-10-16  Jonathan Pryor  <jonpryor@vt.edu>
208
209         * Mono.Documentation/ManifestResourceResolver.cs, 
210           Mono.Documentation/XmlDocUtils.cs: Make types public so that they
211           can be used from ../mdoc/mdoc.exe.
212
213 2008-10-16  Jonathan Pryor  <jonpryor@vt.edu>
214
215         * Makefile: Update $(thisdir).
216
217 2008-10-16  Jonathan Pryor  <jonpryor@vt.edu>
218
219         * Assmbly/AssemblyInfo.cs: Change location of mono.snk (since the 
220           monodoc directory was moved from mcs/class to mcs/tools).
221
222 2008-10-16  Jonathan Pryor  <jonpryor@vt.edu>
223
224         * Makefile: Improve `make clean` support.
225
226 2008-10-16  Jonathan Pryor  <jonpryor@vt.edu>
227
228         * Makefile: Add EXTRA_DISTFILES; monodoc.dll should depend upon
229           Makefile (in case the /resource: lines change); shorten the .gif
230           resource names.
231
232 2008-10-16  Jonathan Pryor  <jonpryor@vt.edu>
233
234         * Test (svn:ignore): Ignore generated files.
235         * Makefile: Add tests for man-provider.
236
237 2008-10-16  Jonathan Pryor  <jonpryor@vt.edu>
238
239         * ChangeLog: Added/Started.
240         * Makefile: Added; build monodoc.dll.
241