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