2010-04-16 Jonathan Pryor * Makefile: Add System.Xml.Linq.dll to the referenced assemblies. * Mono.Documentation/webdoc.cs: Allow .source files to be provided to 'mdoc export-html-webdoc', which will cause the .source files to be read and all referenced .tree/.zip files to be processed. 2010-04-16 Jonathan Pryor * Mono.Documentation/monodocer.cs: Use Int64 instead of UInt64 for enum values, so that we can properly capture negative values. 2010-02-28 Jonathan Pryor * Mono.Documentation/webdoc.cs: Add --use-system-sources option so that 'mdoc export-html-webdoc' will use the system-installed sources in addition to any -r'd sources (which was the behavior 2 commits ago). 2010-02-26 Jonathan Pryor * Mono.Documentation/assembler.cs: Allow other apps to get the same '--format' logic, specifically 'mdoc export-html-webdoc'. * Mono.Documentation/webdoc.cs: Allow it to be more "stand-alone". Previously, it would depend upon the system-wide .source files. This is bad, because you might want to generate the 'cache' directory for a different installation, with a different set of .tree/.zip/.source files, and you might not want to replace your own and/or you often forget, as is the case with me. Instead, allow a format to be specified for .tree files, and allow additional .source files to be referenced so that extension methods will be found within the specified sources. This allows for a "stand-alone" method of operation w/o depending upon the system-wide .source files. 2010-01-11 Jonathan Pryor * Mono.Documentation/monodocs2slashdoc.cs: Fix NamespaceSummaries.xml generation to look at the ns-NAMESPACE.xml files, not just NAMESPACE.xml files. 2009-12-03 Jonathan Pryor * Resources/stylesheet.xsl: Add support for generating namespace links for . * Test/DocTest-v1.cs: Add namespace links for testing. * Test/en.expected.importslashdoc/Mono.DocTest/Color.xml, Test/en.expected.importslashdoc/NoNamespace.xml, Test/html.expected/index.html, Test/html.expected/Mono.DocTest/Color.html, Test/html.expected/NoNamespace.html, Test/msxdoc-expected.importslashdoc.xml: Flush. 2009-12-03 Jonathan Pryor * Test/html.expected/Mono.DocTest.Generic/MyList`1.html, Test/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush to sync with updated mdoc. Inherited members are now shown (as they were supposed to be, but a bug had prevented from being found). 2009-12-02 Jonathan Pryor * Mono.Documentation/monodocs2html.cs: Enable debug output in XslCompiledTransform when --debug is specified. * Resources/overview.xsl: Add xmlns, exclude-result-prefixes so that .NET won't complain about the stylesheet. (Why's it complain?) * Resources/stylesheet.xsl: .NET compatibility fixes: - Use msxsl:node-set() when necessary. - Change XPath expressions so that they work properly everywhere. * Makefile: Don't build an 'mdoc-net.exe' anymore, as the normal mdoc.exe can now run normally under .NET. 2009-11-25 Jonathan Pryor * Makefile: When copying mdoc-net.exe into ./mdoc-net, rename it to mdoc.exe so that .NET users continue to use the name 'mdoc'. This will make documentation easier, etc. 2009-11-25 Jonathan Pryor + Giving up on getting mdoc to fully work under .NET; specifically, mdoc-export-html makes use of many Mono XSLT "extensions" (part of XSLT 2.0, apparently) which .NET doesn't support. To run mdoc under .NET, use mdoc-net.exe, which is a "static" mdoc.exe, including the sources for BOTH monodoc.dll AND Mono's System.Xml.dll in the binary. Yes, this makes it huge. * . (svn:ignore): Ignore generated files. * Makefile: If the NET variable is present (e.g. 'make NET=1'), generate mdoc-net.exe instead of mdoc.exe, otherwise generate mdoc.exe (the default, with normal dependencies). When NET is present, also create a 'mdoc-net' directory which contains mdoc-net.exe and all assembly dependencies (to make it easier to grab all the deps at once). * mdoc-net.exe.sources: Added; sources to use for mdoc-net.exe. * Mono.Documentation/monodocs2html.cs: Ensure that the "Index" XSLT variable is set before generating output. 2009-11-24 Jonathan Pryor * Mono.Documentation/monodocs2html.cs: Use XslCompiledTransform, as it's *significantly* faster under .NET than XslTransform -- 1.7s vs ~3 minutes 7s (for a trivial test case). 2009-11-23 Jonathan Pryor * Resources/overview.xsl, Resources/stylesheet.xsl: Remove the 'ext' and 'language' global 's, as they cause "variable 'foo' was duplicated within the same scope" errors under .NET. 2009-11-23 Jonathan Pryor * Mono.Documentation/monodocer.cs: ".NET support": ensure that we always get Unix line endings so that we can update documentation under both Mono & .NET w/o continually changing the file due to line-ending differences. 2009-11-06 Jonathan Pryor * Mono.Documentation/monodocer.cs: When deleting the ExtensionMethods element, remove it from the correct parent XML node. Fixes #553144. 2009-09-19 Jonathan Pryor * Mono.Documentation/monodocs2html.cs: Add --with-profile=PROFILE option, which just provides a simple mapping between profile names like net_3_5 to the versions used in that profile. 2009-09-19 Jonathan Pryor * Mono.Documentation/monodocs2html.cs: By request of Edd Dumbill, add --with-version=VERSION option. This will generate HTML documentation for ONLY those types/members which exist within VERSION. This makes it easy to generate HTML that will show e.g. only MonoTouch docs (and not the full class library docs). * Makefile: Add test for 'mdoc export-html --with-version=VERSION'. Somewhat brain-dead, as it only checks for added types (and not added members), but better than nothing... 2009-09-09 Jonathan Pryor * Mono.Documentation/monodocs2html.cs: Fix behavior when multiple source directories are provided, e.g. 'mdoc export-html -o o a b c' with docs located in directories a, b, and c. Previously this would be equivalent to running aginst a, b, and c separately, resulting in o/index.html being continually overwritten (and thus not showing ALL available types). * Resources/stylesheet.xsl: Make $Index a parameter (as monodocs2html will create an in-memory index containing all types from all specified directories), and various changes to cope with $Index no longer being a file. Better support files in the global namespace. * Test/html.expected/NoNamespace.html: Fix assembly link. 2009-08-12 Jonathan Pryor * Test/DocTest-v1.cs: Add a comment which uses , to test html escaping behavior. * Resources/monodoc-ecma.xsd: Permit in various elements. * Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml, Test/html.expected/Mono.DocTest/DocAttribute.html, Test/msxdoc-expected.importslashdoc.xml: Flush. 2009-08-12 Jonathan Pryor * Makefile: Add ../monodoc/Resources/mdoc-html-format.xsl as a resource. 2009-08-06 Jonathan Pryor * mdoc.exe.sources: Add ../../build/common/Consts.cs to the build. * Mono.Documentation/mdoc.cs: mdoc version is Consts.MonoVersion, not some hard-coded, perpetually out-of-date version. 2009-08-02 Jonathan Pryor * Mono.Documentation/monodocer.cs: Sometimes is found twice when it's actually present only once (!). Attempt to work around this by usinq LINQ instead of a foreach (which oddly works...). 2009-07-31 Jonathan Pryor * Mono.Documentation/monodocer.cs: Record attributes that are placed on property get/set and event add/remove accessors. * Test/DocTest-v1.cs: Add attributes to some accessors. * Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml, Test/en.expected.since/Mono.DocTest/Widget.xml, Test/en.expected/Mono.DocTest/Widget.xml, Test/html.expected/Mono.DocTest/Widget.html, Test/msxdoc-expected.importslashdoc.xml: Flush. 2009-06-23 Jonathan Pryor * Mono.Documentation/monodocer.cs: Don't generate an exception when an enumeration contains multiple names with the same value. Fixes #515030. * Test/DocTest-v1.cs: Add test for #515030. * Test/en.expected/Mono.DocTest/Color.xml, Test/en.expected.since/Mono.DocTest/Color.xml, Test/html.expected/Mono.DocTest/Color.html, Test/msxdoc-expected.importslashdoc.xml, Test/en.expected.importslashdoc/Mono.DocTest/Color.xml: Flush. 2009-04-18 Jonathan Pryor * Mono.Documentation/webdoc.cs: Change -o semantics to be a directory prefix, e.g. `mdoc export-html-webdoc -o cache.new foo.tree` will output files into `cache.new/foo` instead of directly into `cache.new`. This makes it easier to specify more than one .tree/.zip file on the command line. 2009-04-16 Jonathan Pryor * Mono.Documentation/monodocs2slashdoc.cs: Code refactor; use EcmaDoc.GetCref() to generate //member/@name values. * Mono.Documentation/dump.cs: Add -f=FORMAT support, so that we can load an appropriate HelpSource (if supplied) so that an appropriate Node.PublicUrl can be displayed in the output. 2009-04-15 Jonathan Pryor * Mono.Documentation/webdoc.cs: Remove console debug spew. If you run with `mdoc -v`, each URL will be printed as it's processed. 2009-04-15 Jonathan Pryor * Mono.Documentation/webdoc.cs: When extracting files from the .zip file, ensure that the output file is closed. Properly pre-render ecma namespace documentation. 2009-04-15 Jonathan Pryor * Makefile: Add reference to ICSharpCode.SharpZipLib.dll. * mdoc.exe.sources: Add Mono.Rocks/ObjectRocks.cs, Mono.Rocks/StreamRocks.cs. * Mono.Documentation/webdoc.cs: Refactor into smaller methods. Extract ZIP file contents in addition to generating HTML output. Use monodoc helper methods to determine cache directory. * Mono.Documentation/ObjectRocks.cs: Rename to Mono.Rocks/ObjectRocks.cs. * Mono.Rocks/ObjectRocks.cs: Add Check.Destination(). * Mono.Rocks/StreamRocks.cs: Added; extension methods for Streams. 2009-04-15 Jonathan Pryor * Mono.Documentation/webdoc.cs: The timestamp logic was wrong it the output directory didn't exist. Fix. 2009-04-15 Jonathan Pryor * Mono.Documentation/webdoc.cs: Do as make(1) does: if the target directory already exists and is newer than the source files, don't regenerate output. (Greatly speeds things up if nothing has changed.) Add a --force-update option to disable this behavior. 2009-04-15 Jonathan Pryor * Mono.Documentation/webdoc.cs: Change the default -o value to include a "cache" intermediate directory. This makes it easier to kill the entire cache at once. 2009-04-15 Jonathan Pryor * Mono.Documentation/webdoc.cs: Provide nice default -o value. 2009-04-15 Jonathan Pryor * Mono.Documentation/webdoc.cs: Load documentation through a HelpSource, not through the RootTree, as URLs of the form "ecma:0#AvoidExtensionMethodOnSystemObjectRule/" use the number (0 in this case) as a HelpSource-relative identifier. Result: you get the wrong documentation if you go through RootTree. 2009-04-15 Jonathan Pryor * Makefile: Add reference to System.Web.dll, for HttpUtility. * mdoc.exe.sources: Add ObjectRocks.cs, webdoc.cs to the build. * Mono.Documentation/mdoc.cs: Add export-html-webdoc command, which "pre-renders" HTML for use by the webdoc ASP.NET renderer. * Mono.Documentation/webdoc.cs: Added; MDocExportWebdocHtml implementation; attempts to pre-render HTML based on .tree/.zip file contents. * Mono.Documentation/ObjectRocks.cs: Added; extension methods for tree traversal (from Mono.Rocks). For use in webdoc.cs. 2009-04-09 Jonathan Pryor * Mono.Documentation/monodocer.cs: Using a single IAssemblyResolver is an improvement, but doesn't fix all problems. In particular, some assemblies will depend upon other assemblies to load (e.g. 3rd party assemblies) but these dependent assemblies shouldn't be documented. Add support for -r:ASSEMBLY and -L:DIRECTORY arguments to allow the user to manually add to the assembly search path so that assemblies can be found. Assemblies added via -r will NOT be documented. 2009-04-08 Jonathan Pryor * Mono.Documentation/monodocer.cs: Use a single IAssemblyResolver shared amongst all AssemblyDefinitions to resolve assembly/type references with Cecil. Otherwise, if we have deeply nested directories with cross-directory assembly dependencies, then Cecil won't find the necessary assemblies (e.g. b/bin/Debug/b.dll has a type which inherits from a/bin/Debug/a.dll -- here, we'll have two separate AssemblyDefinitions, and when b.dll's AssemblyDefinition tries to resolve types from a.dll, it fails). See: http://lists.ximian.com/pipermail/mono-devel-list/2009-April/031646.html 2009-03-29 Jonathan Pryor * Mono.Documentation/exceptions.cs: Add ExceptionLocations.AddedMember, used for --exceptions=added support. * Mono.Documentation/monodocer.cs: Add --exceptions=added, which will only add elements for newly added elements. This is useful for updating documentation for established projects which already have corrections (e.g. *removal* of elements because the exceptions weren't actually possible), so only new members should have created. 2009-03-20 Jonathan Pryor * Mono.Documentation/monodocs2html.cs: Perform the timestamp check for the top-level and namespace-level index files. 2009-03-21 Jonathan Pryor * Mono.Documentation/monodocer.cs: Be nice to make, mdoc-export-html, and other apps that use file timetamps: if the file contents haven't changed after the update, don't replace the "original" file. This preserves file timestamps, thus allowing other apps to behave nicely (e.g. mdoc-export-html won't update all documentation after running mdoc-update, as the files won't change unless something has *actually* changed). 2009-03-20 Jonathan Pryor * Mono.Documentation/monodocs2html.cs: Do as make(1) does: if the target file already exists and is newer than the source file, don't regenerate it. (Greatly speeds things up if only a few .xml files changed.) Add a --force-update option to disable this behavior. 2009-02-26 Jonathan Pryor * Mono.Documentation/assembler.cs: When processing an empty directory, it's possible for HelpSource.Tree to be null; avoid an NRE. 2009-02-17 Jonathan Pryor * Test/DocTest-v1.cs: Add test for #475814. * Mono.Documentation/exceptions.cs, Mono.Documentation/monodocer.cs: Use the new Mono.Cecil .Resolve() methods instead of (erroneously) duplicating their functionality with the .GetDefinition() methods. ExceptionLookup.this[IMemberReference] checks for multi-dimensional arrays, as MD arrays are "special" (Cecil can't resolve them, as they're internal to the runtime with no specific associated IL). Fixes #475814. 2009-02-17 Jonathan Pryor * Mono.Documentation/monodocer.cs: Check that the cref attribute is non-null before trying to use it when importing slashdoc sources. Fixes #475852. * Test/DocTest-v1.cs: Add an doc comment with an invalid attribute value for testing. 2009-02-17 Jonathan Pryor * Mono.Documentation/mdoc.cs: Set Environment.ExitCode=1 if an exception occurs, so that calling code can determine that an error occurred w/o resorting to parsing stderr. Fixes #475746. 2009-02-16 Jonathan Pryor * Mono.Documentation/monodocer.cs: Support C#4 variant generics, e.g. `delegate TRet Func(TArg a)'. Alas, this required making MemberFormatter explicitly stateful, so any thoughts of using instances w/o locking are now out the window... (Not that threads are currently used, but they're planned to be used...) TODO: Add a test to Test/DocTest-v1.cs. This wasn't done as the current gmcs support doesn't like intermixing variance with generic parameter attributes, and I don't want to introduce a new delegate type (and the ~6 new files that would imply) just for this feature. 2009-02-10 Jonathan Pryor * Mono.Documentation/monodocer.cs: Cleanup: turn static data into instance data (for future Threading changes, as only static data will be tracked for thread-safety); use MDocCommand.Message() and MDocCommand.Error() for message reporting; remove warnings. 2009-01-05 Jonathan Pryor * Makefile: Fix $(PROGRAM) dependencies so that mdoc.exe is rebuilt when one of the dependent ../monodoc/Resources/* files is changed. 2009-01-05 Jonathan Pryor * Mono.Documentation/mdoc.cs: `mdoc' (no arguments) shouldn't print an index out of range error. Fix. * Mono.Documentation/monodocer.cs: Rename -fno-member-assembly-info to -fno-assembly-versions, which prevents generation of //AssemblyVersion elements. This suffers the same warning as -fno-member-assembly-info, so don't use unless you can guarantee that no members will ever be removed from your public API. :-) Clean up -f handling so that -f:no-assembly-versions will work as expected. 2009-01-05 Jonathan Pryor * Mono.Documentation/monodocer.cs: Add -fno-member-assembly-info, which remove /Type/Members/Member/AssemblyInfo elements. Requested by Mike Kestner. Warning: this option will break automatic version tracking, so if a member is present in e.g. v1.0 and is removed in e.g. v2.0, the //Member element will be removed entirely when updating the documentation against the 2.0 assembly. Use with care. 2008-12-06 Jonathan Pryor * Mono.Documentation/monodocer.cs: Remove "exception" from DocsNodeOrder so that elements aren't grouped together. This causes `make doc-update` to result in ~0 changes in ../../class/corlib. Change the sorting of --exceptions-generated nodes so that namespaces are taken into consideration, thus "properly" grouping types by namespaces, as I'd usually expect... 2008-12-05 Jonathan Pryor * Mono.Documentation/monodocer.cs, Mono.Documentation/monodocs2html.cs: Reorder parameters to be in sorted order, so `mdoc help COMMAND` parameters are sorted. * Mono.Documentation/monodocer.cs: Remove try/catch in MDocUpdater.Run(MDocUpdaterOptions), so that any generated exceptions will be handled within mdoc itself (thus allowing the normal "See `mdoc help' for more information." message). Improve some error messages so they're more useful. 2008-12-04 Jonathan Pryor * Makefile: Specify --exceptions=all in mdoc-update invocations. * exceptions.cs: Add support for documenting a *subset* of all possible exceptions. Subsets include: the member itself, the member and methods it calls that are in the same assembly, and all possible methods across all assemblies. * monodocer.cs: Allow --exceptions to take a SOURCES argument, to control which location sources will be searched for exceptions. 2008-12-02 Jonathan Pryor * Makefile: Add --exceptions to `mdoc update` invocations to test generation. * mdoc.exe.sources: Add Mono.Documentation/exceptions.cs to the build. * Mono.Documentation/exceptions.cs: Added; searches through the callgraph of an IMemberReference, recording which exception types are created (and where they're created from). * Mono.Documentation/monodocer.cs: Generate elements. * Test/DocTest-v1.cs: Modify some methods so that exceptions are emitted (thus testing generation). * Test/DocTest-v2.patch: Update (so patch(1) doesn't complain). * Test/en.expected.importecmadoc/System/Array.xml, Test/en.expected.importecmadoc/System/Environment.xml, Test/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml, Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml, Test/en.expected.importslashdoc/Mono.DocTest/DocValueType.xml, Test/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml, Test/en.expected.importslashdoc/System/Array.xml, Test/en.expected.importslashdoc/System/Environment.xml, Test/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml, Test/en.expected.since/Mono.DocTest/DocAttribute.xml, Test/en.expected.since/Mono.DocTest/DocValueType.xml, Test/en.expected.since/Mono.DocTest/UseLists.xml, Test/en.expected.since/Mono.DocTest/Widget.xml, Test/en.expected.since/System/Array.xml, Test/en.expected.since/System/Environment.xml, Test/en.expected/Mono.DocTest.Generic/GenericBase`1.xml, Test/en.expected/Mono.DocTest/DocAttribute.xml, Test/en.expected/Mono.DocTest/DocValueType.xml, Test/en.expected/Mono.DocTest/UseLists.xml, Test/en.expected/Mono.DocTest/Widget.xml, Test/en.expected/System/Array.xml, Test/en.expected/System/Environment.xml, Test/html.expected/Mono.DocTest.Generic/GenericBase`1.html, Test/html.expected/Mono.DocTest/DocAttribute.html, Test/html.expected/Mono.DocTest/DocValueType.html, Test/html.expected/Mono.DocTest/UseLists.html, Test/html.expected/Mono.DocTest/Widget.html, Test/html.expected/System/Array.html, Test/html.expected/System/Environment.html, Test/msxdoc-expected.importslashdoc.xml: Flush; adds elements (and/or HTML-rendered output of elements). 2008-11-19 Jonathan Pryor * Mono.Documentation/monodocer.cs: Add the assembly's directory to Cecil's BaseAssemblyResolver search list so that assemblies in the same directory as the assembly we're processing can be found. Allows mono-tools/gendarme to be built with a Cecil-using mdoc. 2008-11-15 Jonathan Pryor * Mono.Documentation/monodocer.cs: Properties on interfaces shouldn't have `abstract' on them. * Test/DocTest-v1.cs: Add a property to an interface to check above. * Test/en.expected.importslashdoc/Mono.DocTest/Widget+IMenuItem.xml, Test/en.expected.since/Mono.DocTest/Widget+IMenuItem.xml, Test/en.expected/Mono.DocTest/Widget+IMenuItem.xml, Test/html.expected/Mono.DocTest/Widget+IMenuItem.html, Test/msxdoc-expected.importslashdoc.xml: Flush. 2008-11-15 Jonathan Pryor * Mono.Documentation/monodocer.cs: Fix regressions found from `make doc-update` in corlib: - Ensure that custom attributes are sorted (they weren't before, resulting in spurious differences between Reflection & Cecil output). - CecilExtensions.GetMethod() should return null if the method can't be found. - DocUtils.IsDelegate() should ensure that the delegate type isn't abstract (otherwise it dies on System.MulticastDelegate, which is an abstract type lacking an "Invoke" method). - Properly count generic argument counts for nested types (fixes IOE from S.C.G.Dictionary`2.KeyCollection.Enumerator). * Test/DocTest-v1.cs: Add doubly-nested class under a generic class to simulate S.C.G.Dictionary`2.KeyCollection.Enumerator behavior. * Test/en.expected.importslashdoc/index.xml, Test/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml, Test/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml, Test/en.expected.since/index.xml, Test/en.expected.since/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml, Test/en.expected.since/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml, Test/en.expected/index.xml, Test/en.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml, Test/en.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml, Test/html.expected/index.html, Test/html.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.html, Test/html.expected/Mono.DocTest.Generic/GenericBase`1+NestedCollection.html, Test/html.expected/Mono.DocTest.Generic/index.html, Test/msxdoc-expected.importslashdoc.xml: Flush (new types/changes from DocTest-v1.cs changes). 2008-11-14 Jb Evain * Makefile: Use Mono.Cecil from class/lib/net_1_1, not net_2_0. 2008-11-14 Jonathan Pryor * Makefile: Don't build monodocer1.exe, and add Mono.Cecil.dll to the list of assembly references for mdoc.exe. * Mono.Documentation/monodocer.cs: Migrate from System.Reflection to Mono.Cecil. This was done for two reasons: 1. mscorlib.dll: Reflection can load only one mscorlib.dll into an AppDomain, which must be the same mscorlib.dll as the runtime version. Thus, in order to run monodocer on mscorlib.dll v1.1, monodocer must be a .NET 1.1 application, and to document mscorlib.dll v2.0, monodocer must be a .net 2.0 app. 1.a I don't think it's feasable to drop support for mscorlib.dll v1.1. 1.b This has been previously handled (so far) with conditional compilation, but the conditional compilation is painful to maintain, and prevents use of LINQ in ongoing development. 1.c .NET 4.0 will be coming out "soon" (within 2 years?), and it's possible that mono will maintain the same limitation, thus necessitating having *three* different monodocer programs to document mscorlib.dll for v1.1, v2.0, and v4.0. Yech. 2. Future directions: It would be nice to parse method/property IL bodies to determine which exceptions can be generated, thus generating stubs. Even with empty stubs, I belive this would be useful within e.g. MonoDevelop to know which exceptions a method is able to generate. This cannot be done (at present) with System.Reflection, and would require Mono.Cecil. Downsides: mdoc now depends upon Mono.Cecil, which is API-unstable. This will likely also complicate execution under .NET, as Mono.Cecil would need to be XCOPY deployed into mdoc.exe's directory. * Test/DocTest-v1.cs: Add additional tests for Custom Attribute generation. * Test/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml, Test/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml, Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml, Test/en.expected.importslashdoc/Mono.DocTest/Widget+Direction.xml, Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml, Test/en.expected.since/Mono.DocTest.Generic/Func`2.xml, Test/en.expected.since/Mono.DocTest.Generic/MyList`2.xml, Test/en.expected.since/Mono.DocTest/DocAttribute.xml, Test/en.expected.since/Mono.DocTest/Widget+Direction.xml, Test/en.expected.since/Mono.DocTest/Widget.xml, Test/en.expected/Mono.DocTest.Generic/Func`2.xml, Test/en.expected/Mono.DocTest.Generic/MyList`2.xml, Test/en.expected/Mono.DocTest/DocAttribute.xml, Test/en.expected/Mono.DocTest/Widget+Direction.xml, Test/en.expected/Mono.DocTest/Widget.xml, Test/html.expected/Mono.DocTest.Generic/Func`2.html, Test/html.expected/Mono.DocTest.Generic/MyList`2.html, Test/html.expected/Mono.DocTest/DocAttribute.html, Test/html.expected/Mono.DocTest/Widget+Direction.html, Test/html.expected/Mono.DocTest/Widget.html, Test/msxdoc-expected.importslashdoc.xml: Flush -- updated output due to new custom attributes, better implemented interface detection -- care of the Mono.Cecil migration -- etc. 2008-11-13 Jonathan Pryor * Test/html.expected/**: Update //meta[@http-equiv='Content-Type']/@content attribute value (changed due to yesterday's defaulttemplate.xsl fix). 2008-11-12 Jonathan Pryor * Resources/defaulttemplate.xsl: Update /html/head/meta/@content value so that IE7 properly recognizes the file as UTF-8 encoded. Fixes #444009. 2008-10-27 Jonathan Pryor * Makefile: Fix build error caused by filenames containing '`'. 2008-10-27 Jonathan Pryor * Mono.Documentation/mdoc.cs: TraceLevel.Error messages should go to Console.Error, as per Unix convention. * Makefile: cehck-mdoc-validate* needs to also capture standard error. 2008-10-27 Jonathan Pryor * Mono.Documentation/validate.cs: Remove warnings * Test/validate.check.monodocer, Test/validate.check.monodocer.since: Don't generate output if no errors are found. * Test/validate.check.monodocer.importslashdoc: Prefix error messages with "mdoc:", as per Unix convention. 2008-10-24 Jonathan Pryor * Makefile: Fixup mdoc.exe dependencies so that it's rebuilt if the resources or monodoc.dll change. Add tests for mdoc-validate. * Mono.Documentation/assembler.cs, Mono.Documentation/mdoc.cs, Mono.Documentation/monodocer.cs, Mono.Documentation/monodocs2html.cs, Mono.Documentation/monodocs2slashdoc.cs, Mono.Documentation/validate.cs: - Major rearchitecture; instead of having the option parsing centralized within mdoc.cs, keep option parsing within the relevant files/types. - Introduce the MDocCommand abstract class to serve as the base class -- primarily done to introduce the new Message() and Error() methods, in which Message() will only show the message if the current message level is >= the message's level (thus minimizing console spew); see ../monodoc for more details. - Add `-v' ("verbose") top-level argument to allow setting/adding levels, so that `mdoc -v -v assemble ...` will show *all* assemble-associated messages (which can be quite voluminous). - Remove compiler warnings, when able. * Mono.Documentation/XhtmlWriter.cs: Remove warning about unused variable. * Resources/monodoc-ecma.xsd: Extend the XSD to support more elements/attributes on various elements -- e.g. mdoc-update looks for a //code/@src attribute, which wasn't defined in the XSD. Oops. * Test/validate.check.monodocer.importslashdoc: Flush (due to above XSD changes). 2008-10-22 Jonathan Pryor * Makefile: Correct path names. * Mono.Documentation/monodocer.cs: Better support nested types. * Test/DocTest-v1.cs: Add 4 levels of nested types. * Test/en.expected.importslashdoc/index.xml, Test/en.expected.importslashdoc/Mono.DocTest/Widget.xml, Test/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml, Test/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass+Double+Triple.xml, Test/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass+Double.xml, Test/en.expected.since/index.xml, Test/en.expected.since/Mono.DocTest/Widget.xml, Test/en.expected.since/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml, Test/en.expected.since/Mono.DocTest/Widget+NestedClass+Double+Triple.xml, Test/en.expected.since/Mono.DocTest/Widget+NestedClass+Double.xml, Test/en.expected/index.xml, Test/en.expected/Mono.DocTest/Widget.xml, Test/en.expected/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml, Test/en.expected/Mono.DocTest/Widget+NestedClass+Double+Triple.xml, Test/en.expected/Mono.DocTest/Widget+NestedClass+Double.xml, Test/html.expected/index.html, Test/html.expected/Mono.DocTest/index.html, Test/html.expected/Mono.DocTest/Widget.html, Test/html.expected/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.html, Test/html.expected/Mono.DocTest/Widget+NestedClass+Double+Triple.html, Test/html.expected/Mono.DocTest/Widget+NestedClass+Double.html, Test/msxdoc-expected.importslashdoc.xml: Flush. 2008-10-17 Jonathan Pryor * Makefile: Reference the monodoc.dll from the net_1_1 profile, as that's the only one that will get built. 2008-10-17 Jonathan Pryor * Makefile: Fix $(EXTRA_DISTFILES) so that `make distcheck` doesn't fail on mdoc anymore... 2008-10-18 Raja R Harinath * Makefile (MCS1): Use 'class/lib/net_1_1', not 'class/lib/1.0'. 2008-10-17 Jonathan Pryor * Mono.Documentation/monodocer.cs: -overrides & -pretty should default to true. (Not a major change, as mdoc.exe already did this, so it really only impacts monodocer1.exe, which is internal...) 2008-10-17 Jonathan Pryor * Mono.Documentation/monodocer.cs: Only provide a Main() method and use Mono.GetOptions when targeting .NET 1.0 (i.e. monodocer1.exe). 2008-10-16 Jonathan Pryor Migration from monodoc/tools to mcs/tools/mdoc... * . (svn:ignore), Test (svn:ignore): Ignore generated files. * assembler.cs, mdoc.cs, monodocer.cs, monodocs2html.cs, monodocs2slashdoc.cs, normalize.cs, validate.cs, XhtmlWriter.cs: Move to Mono.Documentation. * defaulttemplate.xsl, overview.xsl, stylesheet.xsl: Moved to Resources. * DocTest: Moved to Test. * DocTest-v1.cs, DocTest-v2.patch, TestEcmaDocs.xml: Moved to Test. * mdoc.exe.sources: Added; mcs include file to build mdoc.exe. * Makefile: Added; build mdoc.exe, monodocer1.exe, and unit tests for mdoc.exe * Mono.Documentation/assembler.cs, Mono.Documentation/normalize.cs, Mono.Documentation/mdoc.cs, Mono.Documentation/monodocs2slashdoc.cs, Mono.Documentation/monodocs2html.cs, Mono.Documentation/validate.cs: Modify command line handling to remove Mono.GetOptions dependency. * Test/DocTest-v1.cs: Update //code/@src attribute due to changed paths. * Test/msxdoc-expected.importslashdoc.xml, * Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml: Flush due to above DocTest-v1.cs change. 2008-10-16 Jonathan Pryor * monodocer.cs: Fixup sorting of explicitly-implement generic members. This keeps members from "bouncing around" in random orders when updating documentation... * DocTest-v1.cs: Explicitly implement some generic interface members on MyList to provoke the bug fixed above. Dictionary.ValueCollection in mscorlib was the original example. * DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml, DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html, DocTest/msxdoc-expected.importslashdoc.xml: Flush. 2008-10-15 Jonathan Pryor * monodocer.cs: Ignore some attributes, because they're ~meaningless for documentation purposes (e.g. who cares if we need attributes to represent decimal constants, or that a method shouldn't be stepped into with the debugger, or...). * DocTest/en.expected/index.xml, * DocTest/en.expected/Mono.DocTest/Widget.xml, * DocTest/en.expected/Mono.DocTest.Generic/Extensions.xml, * DocTest/en.expected.since/index.xml, * DocTest/en.expected.since/Mono.DocTest/Widget.xml, * DocTest/en.expected.since/Mono.DocTest.Generic/Extensions.xml, * DocTest/html.expected/Mono.DocTest/Widget.html, * DocTest/html.expected/Mono.DocTest.Generic/Extensions.html, * DocTest/en.expected.importslashdoc/index.xml, * DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml, * DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Extensions.xml: Flush. 2008-10-05 Jonathan Pryor * monodocer.cs: When sorting elements elements, take generic type parameters into account, so that methods with the same number of type parameters are sorted together, instead of strewn across the file according to the full //Member/@MemberName comparison. * DocTest/**: Flush (and wtf is with the [DebuggerHidden] appearance?). 2008-09-19 Jonathan Pryor * DocTest-v1.cs: Add a member with a "deeply nested" generic parameter list, so test the mdoc-html-utils.xsl fix. * DocTest/msxdoc-expected.importslashdoc.xml, DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml, DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush. 2008-09-16 Jonathan Pryor * monodocer.cs: FieldInfo.GetValue() may throw, particularly if getting the value of a public+static+readonly field, and the constructor for the type of said field throws an exception (though DocTest-v1.cs has a similar scenario). This is bad, as it prevents monodocer from completing its work. Found by Dan Morgan. * DocTest-v1.cs: Create a `public static readonly` field that will generate an exception from the class constructor. * DocTest/en.expected/Mono.DocTest/Widget.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml, DocTest/en.expected.since/Mono.DocTest/Widget.xml, DocTest/html.expected/Mono.DocTest/Widget.html, DocTest/msxdoc-expected.importslashdoc.xml: Flush. 2008-09-16 Jonathan Pryor * monodocer.cs: Allow #region/#endregion parsing to cope with blank lines. 2008-09-15 Jonathan Pryor * monodocer.cs: Strip off leading whitespace up to the indent level that #region was found. This allows controlling how much leading whitespace is preserved within the documentation (as too much whitespace will cause the code to be indented significantly when rendered to e.g. html). * DocTest-v1.cs: Indent the #region, to test the above. * DocTest/msxdoc-expected.importslashdoc.xml, DocTest/html.expected/Mono.DocTest/DocAttribute.html, DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml: Flush. 2008-09-15 Jonathan Pryor * monodocer.cs: Allow //code/@src to include an anchor, in which the anchor specifies a #region to include, instead of including the entire document. This is currently limited to C# code. For example, `` would look insert all text between `#region Text` and `#endregion` within foo.cs. * DocTest-v1.cs: Add a #region, block to test the above. * DocTest/msxdoc-expected.importslashdoc.xml, DocTest/html.expected/Mono.DocTest/DocAttribute.html, DocTest/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml: Flush. 2008-09-11 Jonathan Pryor * stylesheet.xsl: Post-process $cref so that we can use "nice" //see/@cref strings that can actually refer to the right member. For example, `` is needed to get a nicely rendered "Foo.Bar.Baz" link text, but previously it wouldn't link to anything -- you'd need `` to get a functioning link for HTML output. This now works. 2008-09-04 Jonathan Pryor * monodocer.cs: You can't use FieldInfo.GetValue() on generic types. * DocTestv1.cs: Add checks for static fields on generic types. * DocTest/**: Flush. 2008-09-04 Jonathan Pryor * monodocer.cs: Clear out existing elements when import XML documentation which also contains a element. (This keeps us from getting multiple duplicate elements every time we update while importing.) 2008-08-31 Jonathan Pryor * DocTest-v1.cs: Update XML doc comment to mention correct cref. * monodocer.cs: Further fixup XML documentation import and import the actual *contents* of the element (oops). Add support for importing XML documentation for explicitly implemented interface members (CSC-style, not gmcs-style). 2008-08-27 Jonathan Pryor * monodocer.cs: Fixup XML documentation import to be more consistent with ECMA XML import. In particular, this fixes import so that the same element isn't imported multiple times, leading to duplicate elements the more often monodocer is run. * DocTest/msxdoc-expected.importslashdoc.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml: Flush. Changes order of imported XML to reflect the original element order. 2008-08-11 Jonathan Pryor * monodocer.cs: Build fix (gmcs doesn't like using-alias-directives to private nested types anymore). 2008-05-06 Wade Berrier * Makefile.am: Add Options.cs to EXTRA_DIST 2008-04-22 Jonathan Pryor * DocTest/en.expected/Mono.DocTest.Generic/Func`2.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml, DocTest/en.expected.since/Mono.DocTest.Generic/Func`2.xml, DocTest/html.expected/Mono.DocTest.Generic/Func`2.html: Flush: n377596 got fixed, so we can now retrieve custom attributes on all generic type parameters. 2008-04-15 Jonathan Pryor * . (svn:ignore): ignore generated files. * Makefile.am: Add XmlDocUtils.cs to the build. Add unit tests for monodocs2slashdoc; other monodocs2slashdoc changes. * mdoc.cs: Update the arguments accepted by monodocs2slashdoc. * monodocs2slashdoc.cs: Move DocUtils class into ../engine/XmlDocUtils.cs. Add support for a -o parameter which contains all output (if specified). * monodocer.cs: - Add special support for extension methods -- index.xml now contains an /Overview/ExtensionMethods element which contains ExtensionMethod elements for all extension methods within all assemblies processed. - The element contains a subset of the of the actual extension method (and thus will contain a useful subset of the documentation the source contains), along with a element describing all types the extension method applies to. - Consequently, if you edit the documentation of your extension method, you need to re-run monodocer to get the newly written documentation inserted into index.xml. - //Parameter/@RefType is "overloaded" to contain the "this" modifier of extension methods (as this was easiest within mdoc-html-utils.xsl). - Within CSharpMemberFormatter, insert generic type constraints for methods. (Previously constraints were only done on types due to an oversight.) * monodocs2html.cs: Before rendering documentation via the XSLT, insert any extension methods applicable to the type so that the extension methods will be displayed. * DocTest-v1.cs: Add a class providing extension methods. * stylesheet.xsl: Extension methods shouldn't be documented within the type, just declared (and linked to the actual type's documentation). * DocTest/msxdoc-expected.importslashdoc.xml: Added; expected output for monodocs2slashdoc unit test. * DocTest/en.expected/index.xml, DocTest/en.expected/Mono.DocTest/UseLists.xml, DocTest/en.expected/Mono.DocTest.Generic/Extensions.xml, DocTest/en.expected/Mono.DocTest.Generic/Func`2.xml, DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml, DocTest/en.expected.since/index.xml, DocTest/en.expected.since/Mono.DocTest/UseLists.xml, DocTest/en.expected.since/Mono.DocTest.Generic/Extensions.xml, DocTest/en.expected.since/Mono.DocTest.Generic/Func`2.xml, DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml, DocTest/en.expected.importslashdoc/index.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Extensions.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml, DocTest/html.expected/index.html, DocTest/html.expected/NoNamespace.html, DocTest/html.expected/Mono.DocTest/DocAttribute.html, DocTest/html.expected/Mono.DocTest/DocValueType.html, DocTest/html.expected/Mono.DocTest/IProcess.html, DocTest/html.expected/Mono.DocTest/UseLists.html, DocTest/html.expected/Mono.DocTest/Widget.html, DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html, DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html, DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html, DocTest/html.expected/Mono.DocTest.Generic/index.html, DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html, DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.html, DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html, DocTest/html.expected/System/Array.html: Flush; also contains additional elements on generic type parameters due to a mono fix. 2008-04-09 Jonathan Pryor * DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html: Fix the System.EventHandler link. 2008-04-08 Jonathan Pryor * DocTest-v1.cs: Add more attributes, generic constraints to further test monodocer. * Makefile.am: Add check-md-html-dir target to help with testing monodocs2html w/o re-generating the DocTest/en.actual directory. * monodocer.cs: Lots of changes: - Format change: /Type/TypeParameters/TypeParameter doesn't store the type parameter name as it's value (e.g. A), but instead stores the name as an attribute (e.g. ). This was done as Generic Arguments can contain both constraints and attributes which were previously unrecorded. - Record constraints under a //TypeParameter/Constraints element, and attributes under a //TypeParameter/Attributes element. - Generic arguments for methods are now recorded in a /Type/Members/Member/TypeParameters element, with the same schema as type-level arguments. - Properly insert the [return:...] attributes on delegates. - Modify CSharpFullMemberFormatter to generate generic argument constraints on type and member signatures. - Note: attributes are currently not inserted due to n#322399. * stylesheet.xsl: Properly escape generic type names so that all anchors are modeled after ECMA-334 CREFs, e.g. T:Foo.Bar`1, not T:Foo.Bar. * DocTest/en.expected/index.xml, DocTest/en.expected/Mono.DocTest/UseLists.xml, DocTest/en.expected/Mono.DocTest/Widget.xml, DocTest/en.expected/Mono.DocTest/Widget+NestedClass`1.xml, DocTest/en.expected/Mono.DocTest.Generic/Func`2.xml, DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml, DocTest/en.expected/Mono.DocTest.Generic/IFoo`1.xml, DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml, DocTest/en.expected/Mono.DocTest.Generic/MyList`1+Helper`2.xml, DocTest/en.expected/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected/System/Action`1.xml, DocTest/en.expected/System/Array.xml, DocTest/en.expected.since/index.xml, DocTest/en.expected.since/Mono.DocTest/UseLists.xml, DocTest/en.expected.since/Mono.DocTest/Widget.xml, DocTest/en.expected.since/Mono.DocTest/Widget+NestedClass`1.xml, DocTest/en.expected.since/Mono.DocTest.Generic/Func`2.xml, DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml, DocTest/en.expected.since/Mono.DocTest.Generic/IFoo`1.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1+Helper`2.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.since/System/Action`1.xml, DocTest/en.expected.since/System/Array.xml, DocTest/en.expected.importecmadoc/System/Action`1.xml, DocTest/en.expected.importecmadoc/System/Array.xml, DocTest/en.expected.importslashdoc/System/Array.xml, DocTest/en.expected.importslashdoc/System/Action`1.xml, DocTest/en.expected.importslashdoc/index.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`2.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/Func`2.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/Widget+NestedClass`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest/UseLists.xml, DocTest/html.expected/index.html, DocTest/html.expected/Mono.DocTest/Widget.html, DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html, DocTest/html.expected/Mono.DocTest/UseLists.html, DocTest/html.expected/Mono.DocTest.Generic/index.html, DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html, DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.html, DocTest/html.expected/Mono.DocTest.Generic/Func`2.html, DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html, DocTest/html.expected/System/Action`1.html, DocTest/html.expected/System/Array.html: Flush. 2008-04-04 Jonathan Pryor * DocTest-v1.cs: Add nested generic type for testing. * DocTest/en.expected/index.xml, DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml, DocTest/en.expected/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected.importslashdoc/index.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/en.expected.since/index.xml, DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml, DocTest/en.expected.since/Mono.DocTest.Generic/GenericBase`1.xml, DocTest/html.expected/index.html, DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.html, DocTest/html.expected/Mono.DocTest.Generic/index.html, DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html: Flush. 2008-03-31 Jonathan Pryor * DocTest-v1.cs: Add a member returning an IEnumerator to test n375291. * DocTest/en.expected/Mono.DocTest.Generic/MyList`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1.xml, DocTest/en.expected.since/Mono.DocTest.Generic/MyList`1.xml, DocTest/html.expected/Mono.DocTest/Widget.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html: Flush. 2008-03-26 Jonathan Pryor * DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush due to ../engine/mdoc-html-utils.xsl changes with migration of explicitly implemented interface members to a separate section. 2008-03-26 Jonathan Pryor * DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html, DocTest/html.expected/Mono.DocTest/UseLists.html: Flush due to ../engine/mdoc-html-utils.xsl changes with s/System.Collections.Generic//. 2008-03-26 Jonathan Pryor * Makefile.am: Import docs for System.Action. * DocTest-v1.cs: Add System.Action to test generic type importing. * monodocer.cs: Misc. fixes: - Properly lookup generic types when importing ECMA docs, so that e.g. System.Collections.Generic.List docs can be imported. - Fix member duplicate checking so that we don't get an exception due to seenmembers.Add(sig, "") for duplicate sigs. - Fix UpdateParameters() to handle updating nodes on delegates. * TestEcmaDocs.xml: Add docs for System.Action. * DocTest/en.expected/index.xml, DocTest/en.expected/System/Action`1.xml, DocTest/en.expected.importecmadoc/System/Action`1.xml, DocTest/en.expected.importslashdoc/index.xml, DocTest/en.expected.importslashdoc/System/Action`1.xml, DocTest/en.expected.since/index.xml, DocTest/en.expected.since/System/Action`1.xml, DocTest/html.expected/index.html, DocTest/html.expected/System/index.html, DocTest/html.expected/System/Action`1.html: Flush. 2008-03-25 Jonathan Pryor * stylesheet.xsl: Implement CreateEditLink() for mdoc-html-utils.xsl. 2008-03-24 Jonathan Pryor * stylesheet.xsl: Implement CreateExpandedToggle() for mdoc-sections-css.xsl. 2008-03-24 Jonathan Pryor * DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html: Flush due to changes in ID string generation in ../engine/mdoc-html-utils.xsl. 2008-03-17 Jonathan Pryor * monodocer.cs: Modify index.xml so that there's a //Type/@Kind attribute. This allows mkestner's doc engine to display the tree view (e.g. "Foo Class") w/o loading the underlying Foo.xml file, improving start time. * DocTest/en.expected/index.xml, DocTest/en.expected.since/index.xml, DocTest/en.expected.importslashdoc/index.xml: Flush. 2008-03-15 Jonathan Pryor * monodocs2html.cs: Fix DumpTemplate() -- sending the output through an intermediate XmlDocument seems to "corrupt" the file, such that any user of the dumped file will get errors such as "Could not resolve named template create-default-style." 2008-03-15 Jonathan Pryor * defaulttemplate.xsl: Cleanup (add/remove CSS properties, etc.). * Makefile.am: monodocs2html needs to pull in resources from ../engine. * monodocs2html.cs: Use ManifestResourceResolver so that .xsl files embedded within the monodocs2html.exe assembly can refer to each other; use XhtmlWriter so that certain XHTML elements are "closed", e.g.
instead of

. * XhtmlWriter.cs: Added; XmlWriter subclass which generates nicer XHTML. * stylesheet.xsl: *Major* refactor to share XSLT code with ../engine. * DocTest/html.expected/index.html, DocTest/html.expected/NoNamespace.html, DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html, DocTest/html.expected/Mono.DocTest.Generic/index.html, DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html, DocTest/html.expected/Mono.DocTest/Color.html, DocTest/html.expected/Mono.DocTest/Widget+Direction.html, DocTest/html.expected/Mono.DocTest/Widget.html, DocTest/html.expected/Mono.DocTest/Widget+Del.html, DocTest/html.expected/Mono.DocTest/DocValueType.html, DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html, DocTest/html.expected/Mono.DocTest/IProcess.html, DocTest/html.expected/Mono.DocTest/index.html, DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html, DocTest/html.expected/Mono.DocTest/DocAttribute.html, DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html, DocTest/html.expected/Mono.DocTest/UseLists.html, DocTest/html.expected/System/Environment+SpecialFolder.html, DocTest/html.expected/System/Array.html, DocTest/html.expected/System/Environment.html, DocTest/html.expected/System/index.html, DocTest/html.expected/System/AsyncCallback.html: Flush. 2008-03-07 Jonathan Pryor * mdoc.cs: Rename export-slashdoc command to export-msxdoc. Add a space between the `usage:' and command description to ease reading. 2008-03-07 Jonathan Pryor * monodocs2slashdoc.cs: Update to cope with .NET 2.0 generics. * DocTest-v1.cs: Fix CREF comments. * DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/IFoo`1.xml, DocTest/en.expected.importslashdoc/Mono.DocTest.Generic/MyList`1+Helper`2.xml, DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html: Flush due to above CREF changes. 2008-03-06 Joshua Tauberer * monodocer.cs: Use Path.Combine in a few places. 2008-03-03 Jonathan Pryor * Makefile.am: Test the new -import: monodocer option. * mdoc.cs: Make --import take only one parameter, the file to import. * monodocer.cs: Add a new -import option which auto-detects the XML format so that mdoc (and the user) doesn't need to care about file formats. * Options.cs: Flush (fixes "<>" error when parsing 2-value "i|import"). 2008-02-29 Jonathan Pryor * Makefile.am: Use mcs1 to build monodocer1.exe (as mcs now targets the 2.0 profile by default). 2008-02-29 Jonathan Pryor * Makefile.am: Corrections to pass distcheck. 2008-02-27 Jonathan Pryor * mdoc.cs: `mdoc assemble` should default to the "ecma" format, as that's what most of the other mdoc tools produce & consume. 2008-02-26 Jonathan Pryor * mdoc.cs: Allow multiple formats to be specified on the `mdoc assemble` command line; directories use the last specified format. This allows more than one format to be specified at once, e.g. `mdoc assemble -o foo --format=ecma A B --format=error C D`. * Options.cs: Update to permit the above "argument run" parsing behavior. 2008-02-24 Jonathan Pryor * mdoc.cs: Remove array index out of bound exception in ExportHtml; remove debug messages. * defaulttemplate.xsl: s// /; add create-default-collection-title, create-default-title, create-default-summary, create-default-signature, create-default-remarks, create-default-members named templates (for use by importing XSLT files). * DocTest/html.expected/**/*.html: Flush (whitespace changes). 2008-02-21 Jonathan Pryor * Makefile.am: Add mdoc.exe to the build. * monodocer.cs: Place into the Mono.Documentation namespace; rename Stub to Updater. * monodocs2slashdoc.cs: Place into the Mono.Documentation namespace; allow it to convert multiple directories. * mdoc.cs: Added; a unifying front-end to the various monodoc-related utilities such as monodocer, monodocs2html, mdassembler, etc. * Options.cs: An option parser; DO NOT EDIT; instead, see NDesk.Options at http://www.ndesk.org/Options. 2008-02-19 Jonathan Pryor * defaulttemplate.xsl: Insert id attributes so that an "index" can be added; Add a small "index" to the top of the page to simplify navigation -- useful when there are lots of docs that make the "Members" section difficult to otherwise find. Add a http-equiv Content-Type, so that the charset is set to UTF-8. * stylesheet.xsl: Don't use generate-id(), as the result includes the full path of the input file, which breaks unit tests if run on a different machine (and everyone runs the unit tests, right?). Add id attributes so that defaulttemplate.xsl can create an index. * DocTest/html.expected/System/Environment+SpecialFolder.html, DocTest/html.expected/System/Array.html, DocTest/html.expected/System/Environment.html, DocTest/html.expected/System/index.html, DocTest/html.expected/System/AsyncCallback.html, DocTest/html.expected/Mono.DocTest.Generic/IFoo`1.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1+Helper`2.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`1.html, DocTest/html.expected/Mono.DocTest.Generic/MyList`2.html, DocTest/html.expected/Mono.DocTest.Generic/index.html, DocTest/html.expected/Mono.DocTest.Generic/GenericBase`1.html, DocTest/html.expected/index.html, DocTest/html.expected/Mono.DocTest/Color.html, DocTest/html.expected/Mono.DocTest/Widget+Direction.html, DocTest/html.expected/Mono.DocTest/Widget.html, DocTest/html.expected/Mono.DocTest/Widget+Del.html, DocTest/html.expected/Mono.DocTest/DocValueType.html, DocTest/html.expected/Mono.DocTest/Widget+NestedClass.html, DocTest/html.expected/Mono.DocTest/IProcess.html, DocTest/html.expected/Mono.DocTest/index.html, DocTest/html.expected/Mono.DocTest/Widget+NestedClass`1.html, DocTest/html.expected/Mono.DocTest/DocAttribute.html, DocTest/html.expected/Mono.DocTest/Widget+IMenuItem.html, DocTest/html.expected/Mono.DocTest/UseLists.html, DocTest/html.expected/NoNamespace.html: Flush. 2008-02-15 Jonathan Pryor * defaulttemplate.xsl: Move the