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