Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use MSBUILD to configure DocFX / Better MSBUILD integration #3171

Open
ChristophLindemann opened this issue Aug 8, 2018 · 6 comments
Open
Labels
dotnet: msbuild msbuild integration for .NET API reference docs dotnet Generate .NET API reference docs

Comments

@ChristophLindemann
Copy link

It would be nice to integrate DocFX better into the MSBUILD ecosystem.

That would make align DocFX with .NET Core, and make it easier to configure DocFX in big solutions, use dynamic build metadata, extend DocFX via nuget packages...

  • use msbuild properties to configure docfx properties, like docfx.json->build.dest, docfx.metadata.json
  • use msbuild item groups to configure templates, preprocessors, content, resources...
    • use for referencing projects for which to generate API documentation
    • use for extending DocFX with templates, preprocessors...
    • use for referencing projects for which to generate API documentation
  • create DocFX project type. Create msbuild SDK
  • use msbuild targets to configure the docfx build/tooling pipeline, which would also make it easier to extend phases.
  • Support the "standard" build log message format, so that warnings and errors are displayed correctly in IDE, and goto works
  • Support building multiple output formats
@yufeih
Copy link
Contributor

yufeih commented Oct 8, 2018

To support non .NET languages (#157) like python, golang, typescript, docfx should not be tied to msbuild. It can be a separate project on top optimized for C# workflow.

@stale
Copy link

stale bot commented Mar 6, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale label Mar 6, 2019
@stale
Copy link

stale bot commented Mar 13, 2019

Closing this issue after a prolonged period of inactivity. If you still think this issue is relevant, please feel free to ping a maintainer or leave a comment.

@stale stale bot closed this as completed Mar 13, 2019
@open-collar
Copy link

I think it would be very useful to have docfx supported as a first class citizen in the dotnet ecosystem. In particular making the generation and publishing of documentation alongside libraries would be a very healthy thing to encourage.

@superyyrrzz superyyrrzz reopened this Oct 30, 2019
@stale stale bot removed the stale label Oct 30, 2019
@KalleOlaviNiemitalo
Copy link

KalleOlaviNiemitalo commented Oct 30, 2019

We have a few documentation repositories that are built in a continuous integration system. Currently, these rely on DocFX binaries automatically installed from the CI master server. Although there is no .NET API documentation in these repositories, I've been thinking about migrating their build systems towards MSBuild (specifically dotnet msbuild, for licensing and portability) and referring to a DocFx package from NuGet (DocFx.Console looks easiest).

Unfortunately, I found that PackageReference cannot be easily made to work in a hand-crafted MSBuild project that does not intend to build any managed code and thus does not target any framework. I think it will be easier to have a C# project that builds a DLL even though it has no C# source files.

edit 2020-08-01: Microsoft.Build.NoTargets can be used instead of a fake C# project, but PackageReference still requires a TargetFramework (microsoft/MSBuildSdks#100).

If DocFx were also packaged as an SDK for MSBuild (also dotnet/msbuild#2803), then it might be easier to use in this way.

@yufeih yufeih added dotnet Generate .NET API reference docs dotnet: msbuild msbuild integration for .NET API reference docs labels Dec 15, 2022
@soroshsabz
Copy link

ITNOA

Any plan for implementing this cool feature?

@yufeih yufeih removed the idea label Dec 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dotnet: msbuild msbuild integration for .NET API reference docs dotnet Generate .NET API reference docs
Projects
None yet
Development

No branches or pull requests

7 participants