build: generate API docs from published NuGet packages#937
Open
ChrisPulman wants to merge 15 commits intomainfrom
Open
build: generate API docs from published NuGet packages#937ChrisPulman wants to merge 15 commits intomainfrom
ChrisPulman wants to merge 15 commits intomainfrom
Conversation
Update MAUI docs to use the new UseReactiveUI(rxAppBuilder => ...) initializer instead of manual RxAppBuilder.CreateReactiveUIBuilder(), moving service registrations into the rxAppBuilder callback and removing explicit scheduler singleton registrations. Also bump the minimum Windows target version for Windows Forms from 10.0.17763.0 to 10.0.19041.0 in installation and platform guideline docs.
Update MAUI docs to use the new UseReactiveUI(rxAppBuilder => ...) initializer instead of manual RxAppBuilder.CreateReactiveUIBuilder(), moving service registrations into the rxAppBuilder callback and removing explicit scheduler singleton registrations. Also bump the minimum Windows target version for Windows Forms from 10.0.17763.0 to 10.0.19041.0 in installation and platform guideline docs.
51c370e to
dba7525
Compare
…into CP_FixFor936
…into CP_FixFor936
Add Configuration to the Nuke schema and update Build.cs to run the BuildWebsite target by default. Consolidate web/api path variables (ApiPath, ApiLibDirectory, ApiRefsDirectory, ApiCacheDirectory, DocfxConfigPath, SiteOutputPath) and replace StartShell docfx invocations with StartProcess using explicit config and working directory. Change NuGetFetcher.FetchPackages signature to accept an apiPath and write lib/cache/refs under that path. Update reactiveui/docfx.json to add/remove and reorganize DLL entries and API lib src mappings to match the new API output layout.
Removed MSBuild setup step from workflow.
Removed the installation step for DotNet workloads.
368b82d to
36b8d23
Compare
- Move docfx package fetching out of monolithic NuGetFetcher.cs into build/NuGetTooling/ (records per concept, source-gen JSON contexts, TfmResolver, async fetcher, DocfxConfigWriter using a typed model rather than Dictionary<string, object>). - Introduce Directory.Packages.props for central package management; pin transitive NuGet.Packaging and System.Security.Cryptography.Xml to clear NU1901/NU1903 vulnerability warnings. - Make Build.cs, Configuration.cs analyser-clean (namespace, static members, docs) and convert package fetch to async end to end. - Use collection expressions in place of ToList/ToArray where the target type is inferable on the left-hand side.
- Pin docfx 2.78.5 in .config/dotnet-tools.json so Renovate's nuget
manager bumps it automatically; replace tool install/update + custom
--tool-path probing with `dotnet tool restore` + `dotnet docfx ...`.
- Embed a stripped-down docfx template as a resource in _build.dll;
DocfxConfigWriter generates reactiveui/docfx.json on every run from
that template plus the discovered TFM directories.
- Untrack reactiveui/docfx.json and ignore docfx/Nuke runtime artifacts
(_site, api/{lib,refs,cache}, api-*, .nuke/{temp,tools}).
- Fix Website.sln: add Build.0 entries for _build so solution-level
builds actually compile the project (was emitting NuGet "Unable to
find a project to restore" warning).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Update the website build to generate API documentation from published NuGet packages instead of restoring and building source repositories during the site build.
Changes
NuGetFetcherthat discovers packages from the ReactiveUI and ReactiveMarbles NuGet owners, downloads the selected package assets, and stages reference assemblies for docfx.reactiveui/docfx.jsonto read assemblies from the fetched package layout, including the platform-specific outputs needed for the generated API docs.closes #936