Releases: mono/api-doc-tools
[preview] mdoc v5.0.0.5
A big overhaul of "frameworks mode". In addition to the features below, all frameworks now use their own AssemblyResolver
, so memory and number of open file handles are greatly reduced.
Frameworks Configuration File
Frameworks mode now requires an XML configuration file.
mdoc update -o out/path -fx path/to/frameworks/frameworks.xml
sample configuration file:
<?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:
mdoc fx-bootstrap path/to/frameworks
This will create a file at path/to/frameworks/frameworks.xml
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 as of this release.
Frameworks Index files Grouped by Namespace
Framework index files now have types grouped by namespace. Example:
<?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>
[preview] mdoc v5.0.0.4
This release builds on the prior 5.0.0.* releases, and includes a fix for:
#6 - A more broadly applicable solution to the original problem.
[preview] mdoc v5.0.0.3
This release builds on the prior 5.0.0.* releases, and includes a fix for:
- #27 - Fixes an issue with duplicate extension methods when running in
-frameworks
mode.
[preview] mdoc v5.0.0.2
Building on preview v5.0.0.1 (release notes), this additionally includes fixes for:
[preview] mdoc v5.0.0.1
mdoc now supports documenting multiple frameworks (PR here). You can use this new functionality by passing the path to a directory in the -frameworks
parameter.
mdoc update -o path/to/documentationXML -frameworks path/to/frameworks
The names of the folders in path/to/frameworks
will be used as the name of the frameworks. And will result in one XML file per framework in the path/to/documentationXML/FrameworksIndex
folder.
<?xml version="1.0" encoding="utf-8"?>
<Framework Name="One">
<Type Name="MyFramework.MyNamespace.MyClass">
<Member Sig="public double OnlyInClassic { get; set; }" />
<Member Sig="public float Hello (int value);" />
<Member Sig="public MyClass ();" />
<Member Sig="public string MyProperty { get; set; }" />
</Type>
<Type Name="MyFramework.MyNamespace.MyClassExtensions">
<Member Sig="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
</Type>
<Type Name="MyNamespace.MyClass">
<Member Sig="public MyClass ();" />
<Member Sig="public string SomeMethod<T> ();" />
</Type>
</Framework>