Skip to content

Replace XmlDocMarkdown with FileAssert.#156

Merged
Malcolmnixon merged 2 commits into
mainfrom
api-mark-switch
Jun 1, 2026
Merged

Replace XmlDocMarkdown with FileAssert.#156
Malcolmnixon merged 2 commits into
mainfrom
api-mark-switch

Conversation

@Malcolmnixon

Copy link
Copy Markdown
Member

This pull request migrates the API documentation generation tool from XmlDocMarkdown (xmldocmd) to ApiMark, updating all related integration, requirements, verification, and documentation references throughout the codebase. The change modernizes the approach for generating and packaging Markdown API documentation, reflecting the new integration pattern and ensuring all references, tests, and documentation are consistent with the new tool.

Key changes include:

Tooling and Build Integration

  • Removed xmldocmd from .config/dotnet-tools.json and replaced with apimark-msbuild integration in .versionmark.yaml and the build workflow, reflecting that ApiMark is now used as an MSBuild NuGet package rather than a CLI tool. [1] [2] [3]
  • Updated the test assertion in .fileassert.yaml to check for API documentation files under the api/ folder (produced by ApiMark) instead of the previous docs/ folder.

Documentation and Requirements

  • Replaced all mentions and documentation of XmlDocMarkdown with ApiMark in design and verification documentation, including new integration and verification design files (docs/design/ots/apimark.md, docs/verification/ots/apimark.md), and removed old XmlDocMarkdown files. [1] [2] [3] [4] [5] [6] [7]
  • Updated requirements and review streams to reference ApiMark, including new requirements YAML and removal of old XmlDocMarkdown requirements. [1] [2] [3]

Project and Folder Structure

  • Changed all references to the API documentation output folder from docs/ to api/ in project documentation and README.

Miscellaneous

  • Updated CSpell dictionary, design, and verification definition files to align with the new tool and documentation structure. [1] [2] [3] [4] [5] [6] [7] [8]

These changes ensure the project uses ApiMark for API documentation, with all related configuration, validation, and documentation updated accordingly.

Copilot AI review requested due to automatic review settings June 1, 2026 19:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR replaces the xmldocmd dotnet CLI tool with the DemaConsulting.ApiMark.MSBuild NuGet package for API documentation generation. The API docs are now packaged under api/ instead of docs/ in the produced NuGet package. All design, verification, requirements, review streams, version capture configuration, and FileAssert checks are updated to reference ApiMark in place of XmlDocMarkdown.

Changes:

  • Replace xmldocmd dotnet tool with DemaConsulting.ApiMark.MSBuild MSBuild integration in the library .csproj, removing custom GenerateApiDocs/IncludeApiDocsInPackage targets in favor of ApiMark MSBuild properties.
  • Move the package documentation folder from docs/ to api/, including a new api/api.md index, and update FileAssert assertions, version capture, and CI workflow accordingly.
  • Delete xmldocmd design/verification/reqstream files and add equivalent apimark documents; update OTS overview, introduction, and review configuration to match.

Reviewed changes

Copilot reviewed 24 out of 24 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/DemaConsulting.TestResults/DemaConsulting.TestResults.csproj Adds DemaConsulting.ApiMark.MSBuild package reference and replaces custom doc-gen/pack targets with ApiMark MSBuild properties.
requirements.yaml Swaps xmldocmd.yaml include for apimark.yaml.
README.md Updates user-facing doc location from docs/ to api/.
docs/verification/ots/xmldocmd.md Removed; replaced by apimark.md.
docs/verification/ots/fileassert.md Updates FileAssert verification narrative to reference ApiMark.
docs/verification/ots/apimark.md New verification doc describing FileAssert checks for ApiMark output.
docs/verification/ots.md Updates OTS verification overview to list ApiMark.
docs/verification/introduction.md Updates OTS item list in verification intro.
docs/verification/definition.yaml Swaps verification input file from xmldocmd.md to apimark.md.
docs/reqstream/ots/xmldocmd.yaml Removed; replaced by apimark.yaml.
docs/reqstream/ots/reqstream.yaml Reformats the ReqStream requirement title onto one line.
docs/reqstream/ots/fileassert.yaml Updates FileAssert justification to reference ApiMark.
docs/reqstream/ots/apimark.yaml New OTS requirement TestResults-OTS-ApiMark with test ApiMark_NuGetPackageContainsDocs.
docs/design/ots/xmldocmd.md Removed; replaced by apimark.md.
docs/design/ots/apimark.md New design doc describing the MSBuild-based ApiMark integration.
docs/design/ots.md Updates OTS integration strategy and table to call out ApiMark as an MSBuild NuGet package.
docs/design/introduction.md Updates OTS item list/tree in design intro.
docs/design/definition.yaml Swaps design input file from xmldocmd.md to apimark.md.
.versionmark.yaml Replaces xmldocmd tool-list capture with apimark-msbuild package-list capture.
.reviewmark.yaml Renames the OTS review stream from OTS-XmlDocMd to OTS-ApiMark with updated paths.
.github/workflows/build.yaml Updates versionmark capture argument list from xmldocmd to apimark-msbuild.
.fileassert.yaml Renames the API-docs test and switches assertions from docs/** to api/** plus a new api/api.md check.
.cspell.yaml Replaces dictionary entry xmldocmd with apimark.
.config/dotnet-tools.json Removes the xmldocmd tool manifest entry.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Malcolmnixon Malcolmnixon merged commit d915a97 into main Jun 1, 2026
8 checks passed
@Malcolmnixon Malcolmnixon deleted the api-mark-switch branch June 1, 2026 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants