Skip to content

Releases: mono/api-doc-tools

[preview] mdoc v5.0.0.5

02 Mar 04:25
Compare
Choose a tag to compare
Pre-release

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

25 Feb 20:26
Compare
Choose a tag to compare
Pre-release

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

24 Feb 22:16
Compare
Choose a tag to compare
Pre-release

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

18 Feb 02:18
Compare
Choose a tag to compare
Pre-release

Building on preview v5.0.0.1 (release notes), this additionally includes fixes for:

  • #6 - [mdoc] Error updating a generic extension method
  • #7 - [mdoc] Error when running on a folder with some assemblies being non-managed
  • #12 - [mdoc] Support extra elements in the generated ECMAXML

[preview] mdoc v5.0.0.1

13 Feb 22:08
Compare
Choose a tag to compare
Pre-release

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&lt;T&gt; ();" />
  </Type>
</Framework>