Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/api-doc-tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/mdoc
AgeCommit message (Collapse)Author
2017-09-02mdoc: fx-bootstrap now ignores the dependencies folder.Joel Martinez
Closes #98
2017-09-02mdoc: update now using ILAsm signature for tracking.Joel Martinez
Due to some recent changes to the C# signature (operators), it was not properly connecting the member to the existing node, causing a duplicate entry in the XML. By using ILASM (which is less likely to change), we work around this problem. Closes #107.
2017-09-02mdoc: resolver now recurses all search directory.Joel Martinez
This can be disabled by passing in `-disable-searchdir-recurse`. Closes #112
2017-08-28version bump to 5.0.0.21Joel Martinez
2017-08-28mdoc: now using a new resolver, that resolves mscorlib (v255.255.255.255) ↵Joel Martinez
assemblies using .net 4.5 Closes #29
2017-08-24version bump to 5.0.0.20Joel Martinez
2017-08-24mdoc: excluding modreq/modopt modifiers from C# signatures.Joel Martinez
Closes #59
2017-08-01version bump to 5.0.0.19Joel Martinez
2017-08-01mdoc: C# operator signatures are now generated correctly.Joel Martinez
Previously, mdoc simply used the compiler-generated method names for operators, such as `op_Multiply`, instead of `operator *`. This releases fixes that for all unary, binary, comparison, and conversion operators. Closes #82
2017-07-11mdoc: version bump to 5.0.0.18Joel Martinez
2017-07-11mdoc: frameworks mode now includes exes and winmd filesJoel Martinez
Closes #29 and #58
2017-06-30Documentation importing is now supported in Frameworks mode.Joel Martinez
You can now add a new element to frameworks.xml, `/Frameworks/Framework/import`, which is a path to the import documentation file (generated via the compiler's `/doc` parameter). An example test case was added in the make target, `check-monodocer-import-fx`. Closes #43
2017-06-01mdoc: now supports 'see href'.Joel Martinez
Resolves #62
2017-04-22Simplifies build setupMarek Safar
2017-04-22Clean up mono bcl build specific artefactsMarek Safar
2017-04-21Updates for Mono 5.0Joel Martinez
Now using MSBuild. Updated some test data to reflect newly thrown exceptions. Updated to a newer version of NUnit.
2017-03-29version bump to 5.0.0.14Joel Martinez
2017-03-29mdoc: no longer skips documenting forwarded types.Joel Martinez
Resolves #53
2017-03-27bumped mdoc version to 5.0.0.13Joel Martinez
2017-03-27mdoc: switched configuration to anycpu.Joel Martinez
Resolves #49. Additionally, enabled optimizations in release mode.
2017-03-27mdoc: Cache processing avoids processing some member typesJoel Martinez
2017-03-27version bump to 5.0.0.11Joel Martinez
2017-03-27mdoc: Now caching all framework member lookups.Joel Martinez
This full resolves #44 as it also uses the correct member formatter for member comparisons
2017-03-27version bump to 5.0.0.10Joel Martinez
2017-03-27mdoc: Support for VB Explicitly Implemented Interface membersJoel Martinez
Since VB.NET can explicitly implement a member without using the same naming convention as you might use in C#, it was causing some issues with mdoc matching xml member nodes to reflected types. In particular, the cases supported with this patch are: - interface type and member name concatenated. e.g. `IListAdd` - same as above, but when the interface doesn’t match the interface where the member is defined. e.g. `ICollection` inherits `IEnumerable`. So `System.Collections.IEnumerable.GetEnumerator` is expressed in some types as `ICollectionGetEnumerator` - same name as the interface member e.g. `Microsoft.VisualBasic.Compability.VB6.BaseControlArray$System.ComponentModel.ISupportInitialize.BeginInit` Related #44
2017-03-17mdoc: Extension method comparison improved.Joel Martinez
This fixes an issue where an extension method in multiple frameworks might have a slightly different signature, due to a different parameter name, resulting in an InvalidOperationException because a duplicate extension was added to the index file. Additionally, this improves robustness of assembly search paths. Related to to #27.
2017-03-15mdoc: FrameworkTypeEntry now uses ILAsm for lookup purposes.Joel Martinez
2017-03-15version bump to 5.0.0.8Joel Martinez
2017-03-15mdoc: Resolves issue in fx mode with overridden members.Joel Martinez
When a type overrides a member in one framework, but does not in another framework processed after the first, the Member node was being removed, even though the entry remained in teh first framework index file. This Resolves #39
2017-03-08mdoc: Support for alternate inheritance chains in frameworks.Joel Martinez
If a framework has a different inheritance chain, another `Base/BaseTypeName` element will be added with a `FrameworkAlternate` attribute. Resolves #16
2017-03-07mdoc: special characters in attributes are now filtered.Joel Martinez
Fixes #32, which was an issue with the ascii null character. It caused the resulting XML to be malformed.
2017-03-07mdoc: Added MemberGroup as valid elementJoel Martinez
A MemberGroup can be intermixed amongst the other Member nodes. It will be sorted to be in front of the other similarly named Members. It must contain a MemberName attribute, and can have: Docs, and AssemblyInfo nodes. Resolves #35
2017-03-03Frameworks Mode for Update Commandpreview-5.0.0.6Joel Martinez
mdoc now supports documenting multiple frameworks. You can use this new functionality by passing the path to a configuration file in the `-frameworks` (or `-fx` for short) parameter. ``` mdoc update -o path/to/documentationXML -frameworks path/to/frameworks.xml ``` This command will result in one XML file per framework in the `path/to/documentationXML/FrameworksIndex` folder. ``` xml <?xml version="1.0" encoding="utf-8"?> <Framework Name="Two"> <Namespace Name="MyFramework.MyOtherNamespace"> <Type Name="MyFramework.MyOtherNamespace.MyOtherClass" Id="T:MyFramework.MyOtherNamespace.MyOtherClass"> <Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.#ctor" /> ... </Type> </Namespace> </Framework> ``` Configuration File This is a sample configuration file: ``` xml <?xml version="1.0" encoding="utf-8"?> <Frameworks> <Framework Name="One" Source="One"> <assemblySearchPath>dependencies/One</assemblySearchPath> </Framework> <Framework Name="Two" Source="Two"> <assemblySearchPath>dependencies/Two</assemblySearchPath> </Framework> </Frameworks> ``` Note that the `assemblySearchPath` is meant to house dependent assemblies that mono.cecil must be able to resolve. You can have as many as you need for each framework if you happen to have them separated into multiple folders. Also the `-L` parameter applies globally to every framework. Frameworks Config Bootstrap To simplify the tedium of creating the configuration file, a simple command was added that will use the folder structure to create a basic configuration file: ``` csharp mdoc fx-bootstrap path/to/frameworks ``` This will create a file at `path/to/frameworks/frameworks.xml`, using the folders in `path/to/frameworks` as the names/paths DocId Signatures You can now pass a flag to add a `DocId` signature to every `Type` and `Member` node. ``` mdoc update -o out/path some.dll -use-docid ``` _please note_: framework index files will _always_ use the DocId as their identifiers. Frameworks Index files Grouped by Namespace Framework index files now have types grouped by namespace. Example: ``` xml <?xml version="1.0" encoding="utf-8"?> <Framework Name="Two"> <Namespace Name="MyFramework.MyOtherNamespace"> <Type Name="MyFramework.MyOtherNamespace.MyOtherClass" Id="T:MyFramework.MyOtherNamespace.MyOtherClass"> <Member Id="M:MyFramework.MyOtherNamespace.MyOtherClass.#ctor" /> ... </Type> </Namespace> </Framework> ``` Bug Fixes and Enhancements - Resolves #13 - Resolves #27 - Resolves #31 - Resolves #33
2017-02-18mdoc: some minor additions to mdoc tests.Joel Martinez
These files were inadvertently left out of PRs that were merged to master
2017-02-18mdoc: adds 'forInternalUseOnly` to XSD. (#25)Joel Martinez
Resolves #12
2017-02-17mdoc: Resolves an issue with generic array extension methods. (#22)Joel Martinez
Closes #6
2017-02-16mdoc: Failing to load an assembly is no longer a fatal error. (#23)Joel Martinez
In some cases, for example when running in "frameworks" mode (ie. https://github.com/mono/api-doc-tools/pull/18), you might have non-managed .dlls in the directory. This change allows mdoc to simply write the fact that it couldn't load the assembly, and continue doing work. Resolves #7 Potentially provides a temporary workaround for #8, #9
2017-02-03New top level solution, makefile targets, and submodule dependencies.Joel Martinez
You can `make prepare all check` to compile and run unit tests. Additionally, you can open `apidoctools.sln` in Visual Studio to develop and debug. _Please Note:_ You will have to `make prepare all CONFIGURATION=Debug` for VS to work, as this compiles external dependencies, and copies them to the `bin/Debug` folder, where VS will be expecting them.
2016-10-08Fix monodoc tests on WindowsNiklas Therning
These tests are sensitive to differences in line endings between Windows and other platforms. This patch changes the diff commands used on Windows to ignore changes in whitespaces at end of lines.
2016-10-08[mdoc] Remove --exclude=.svn from diff argumentsAlexander Köplinger
We don't use svn anymore since a very long time and some diff implementations (e.g. in Alpine) don't support --exclude. Removing the argument is an easy fix.
2016-10-08[mdoc] Update project fileMarek Safar
2016-10-08[bcl] Reflect cecil breaking changesMarek Safar
2016-10-08Merge pull request #2377 from joelmartinez/docs-multiassembly-extension-fixJonathan Pryor
[mdoc] Extension method crash fix, removes -multiassembly
2016-10-08[genproj] Do not use \r on the Unix parts of the build hook, add RabbitMQ hooksMiguel de Icaza
2016-10-08[msbuild projects] Use newlines without a carriage return for Unix targets ↵Miguel de Icaza
to appease MS msbuild
2016-10-08[genproj] Now we can build all executables with msbuild as wellMiguel de Icaza
2016-10-08[build] Change the way how mcs references are passed to compiler to always ↵Marek Safar
use full path. One of csc prerequisites because csc uses -lib as path which is considered after RuntimeEnvironment.GetRuntimeDirectory which makes -lib useless
2016-10-08[build] Use full filename for csc referencesMarek Safar
2016-10-08[corlib] Fix Delegate.Combine() to throw on non-matching typesAlexander Köplinger
This was inadvertently removed in https://github.com/mono/mono/commit/611a43ee0f672adbac3e25dc77731843a3d10cf1 from MulticastDelegate.CombineImpl(). Add the type check back in the Delegate base class, we already do the same in Remove(). Add unit tests to cover the behavior to the corlib test suite. (reverted from commit f29878dc713f4e148fe0a1e703fae8929e6fb6e0) Needed to update some monodoc tests to match that an exception is now thrown again.
2016-10-08[monodoc] Fix literal formatting on systems where decimal separator is not a dotAlexander Köplinger
E.g. on a German language OS the "make check-mdoc-export-html" test fails with this: ``` diff --exclude=.svn -rup Test/en.expected/Mono.DocTest/Widget.xml Test/en.actual/Mono.DocTest/Widget.xml --- Test/en.expected/Mono.DocTest/Widget.xml 2015-11-18 04:42:11.000000000 +0100 +++ Test/en.actual/Mono.DocTest/Widget.xml 2016-02-04 02:38:09.000000000 +0100 @@ -1061,8 +1061,8 @@ </Docs> </Member> <Member MemberName="PI"> - <MemberSignature Language="C#" Value="protected const double PI = 3.14159;" /> - <MemberSignature Language="ILAsm" Value=".field familyorassembly static literal float64 PI = (3.14159)" /> + <MemberSignature Language="C#" Value="protected const double PI = 3,14159;" /> + <MemberSignature Language="ILAsm" Value=".field familyorassembly static literal float64 PI = (3,14159)" /> <MemberType>Field</MemberType> <AssemblyInfo> <AssemblyVersion>0.0.0.0</AssemblyVersion> @@ -1070,7 +1070,7 @@ <ReturnValue> <ReturnType>System.Double</ReturnType> </ReturnValue> - <MemberValue>3.14159</MemberValue> + <MemberValue>3,14159</MemberValue> <Docs> ``` The fix is to always use InvariantCulture for literal formatting.