Skip to content

build: generate API docs from published NuGet packages#937

Open
ChrisPulman wants to merge 15 commits intomainfrom
CP_FixFor936
Open

build: generate API docs from published NuGet packages#937
ChrisPulman wants to merge 15 commits intomainfrom
CP_FixFor936

Conversation

@ChrisPulman
Copy link
Copy Markdown
Member

@ChrisPulman ChrisPulman commented Feb 27, 2026

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

  • Replace the source-based fetch pipeline with a NuGetFetcher that discovers packages from the ReactiveUI and ReactiveMarbles NuGet owners, downloads the selected package assets, and stages reference assemblies for docfx.
  • Update reactiveui/docfx.json to read assemblies from the fetched package layout, including the platform-specific outputs needed for the generated API docs.
  • Simplify the Nuke build to fetch packages and build the website directly, removing the old source-fetch and compile flow.
  • Update the GitHub Actions workflow to build on Ubuntu, use the new package-fetch pipeline, and cache the fetched API artifacts.
  • Add the package manifest and ignore rules needed for the generated API inputs and cache directories.

closes #936

ChrisPulman and others added 3 commits February 27, 2026 23:50
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.
ChrisPulman and others added 9 commits March 8, 2026 23:02
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.
@glennawatson glennawatson changed the title UseReactiveUI API and bump WinForms target build: generate API docs from published NuGet packages Apr 25, 2026
- 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).
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.

[Bug]: Package restore warning with ReactiveUI.WinForms

2 participants