dotnet / winforms

Windows Forms is a .NET UI framework for building Windows desktop applications.
MIT License
4.39k stars 974 forks source link

Make Triple Slash Comments Source of Truth #12262

Open lonitra opened 1 week ago

lonitra commented 1 week ago

Currently we need to manually port any new documentation to the dotnet-api-docs repo when it comes time to documenting new APIs that have been added in the release cycle. We should investigate making our source code documentation the source of truth so that we reduce the manual effort that occurs when it comes time to documenting new APIs for the release cycle.

In runtime repo, this has already been achieved for some projects by creating a transport package that automatically pushes the ref assemblies and the intellisense files to a feed where the dotnet-api-docs repo consumes that package to update the Microsoft Learn website.

RussKie commented 6 days ago

This item has been long on a backlog with some progress. It is hard to tell from the issue whether it is something you've already figured out or you're just planning to.

Essentially, Microsoft.Private.Winforms is the package that contains triple-slash docs, which are ingested by the docs system. However, when I worked on this, the docs system would only ingest the new docs and won't update any of the existing. To make the code the source of truth, we'd need to import all existing triple-slash docs from the docs system. That was meant to be achievable by the DocPorting tool which @jeffhandley and @carlossanlop worked on. Once all the existing triple-slash docs are imported into the codebase, the docs system will need to be reconfigured to ingest all incoming docs from the source.

Back in the days, with the docs team we discussed possibilities of creating two flows: source->docs and docs->source, but I don't know whether this story had any progress since then.

lonitra commented 3 days ago

This was just a plan. I was not aware that this already had some progress to it so thank you! Is there an issue that captures this and history of the progress thats been made so I can catch up?

RussKie commented 3 days ago

I think it's how it always worked - this repo bundles xmls into Microsoft.Private.Winforms, and the Docs system ingest those... ¯\(ツ)\

Whenever there were missing docs, @carlossanlop would come here and shame us, and we'd fix the gaps either by updating the source or updating the xmls at https://github.com/dotnet/dotnet-api-docs/ (e.g., https://github.com/dotnet/dotnet-api-docs/pull/7114).