Skip to content

chore: remove the Roslyn integration#8

Merged
phil-scott-78 merged 1 commit into
mainfrom
chore/remove-roslyn-integration
May 25, 2026
Merged

chore: remove the Roslyn integration#8
phil-scott-78 merged 1 commit into
mainfrom
chore/remove-roslyn-integration

Conversation

@phil-scott-78
Copy link
Copy Markdown
Contributor

Why

The docs site already migrated off Roslyn to the reflection-based API metadata provider (AddApiMetadataFromCompiledAssembly) and TreeSitter :symbol fences. Nothing in the core library depends on Pennington.Roslyn — it is purely opt-in — so the package, its tests, its example, and every doc/prose/comment reference to it are now dead weight. We have not shipped, so this is the moment to drop it.

What changed

Deleted

  • src/Pennington.Roslyn/ (highlighter, :xmldocid/:path preprocessor, Roslyn API-metadata provider)
  • tests/Pennington.Roslyn.Tests/
  • examples/BeyondRoslynExample/ (incl. its Sample/ library)
  • Two obsolete, fully-skipped integration tests (XmlDocIdFenceSweepSmokeTest, ApiReferenceComponentTests) that targeted a deleted type on a draft page

Wiring

  • Removed the projects from Pennington.slnx / Pennington.slnf
  • Dropped the 7 Roslyn-only package versions from Directory.Packages.props (kept DiffPlex, shared with TreeSitter, and MetadataLoadContext, used by the reflection backend)
  • Removed the vestigial Pennington.Roslyn reference from Pennington.IntegrationTests

Reflection backend

  • Includes the in-flight ReflectionInheritDocResolver / ReflectionRecordParamFallback resolvers and tests that bring the compiled-assembly backend to parity (the replacement this removal depends on)

Docs & prose

  • Deleted the connect-roslyn tutorial and repointed every dangling xref/link to the reflection / :symbol equivalents
  • Rewrote focused-code-samples.md and the highlighting explanation onto TreeSitter :symbol; trimmed auto-api-reference.md to the reflection backend
  • Scrubbed remaining Roslyn mentions from blog posts, reference pages, llms.txt, the homepage, READMEs, CLAUDE.md files, and code comments

Verification

  • dotnet build Pennington.slnx — 0 warnings, 0 errors
  • dotnet test Pennington.slnx — all pass (806 + 48 + 40)
  • dotnet run --project docs/Pennington.Docs -- build — exit 0, 457 pages, no broken-xref/diagnostic output
  • Repo-wide search for Roslyn (excl. bin/obj/artifacts, incl. .github) — zero hits

Note

examples/AUDIT_LOG.md is a dated historical log; I removed the deleted example's audit section (which carried the Roslyn references) but left other dated entries' incidental :xmldocid mentions intact rather than rewrite history. Easy to scrub those too if preferred.

The docs site migrated off Roslyn to the reflection-based API metadata
provider (AddApiMetadataFromCompiledAssembly) plus TreeSitter :symbol
fences, so Pennington.Roslyn is now redundant.

- Delete src/Pennington.Roslyn, tests/Pennington.Roslyn.Tests, and the
  examples/BeyondRoslynExample example (incl. its Sample/ library).
- Drop those projects from Pennington.slnx/.slnf and remove the 7
  Roslyn-only package versions from Directory.Packages.props (keep
  DiffPlex, shared with TreeSitter, and MetadataLoadContext).
- Remove the vestigial Roslyn project reference and two obsolete skipped
  tests from Pennington.IntegrationTests.
- Land the reflection inheritdoc / record-param resolvers and tests that
  bring the compiled-assembly backend to parity.
- Scrub every Roslyn / :xmldocid reference from docs content, examples,
  READMEs, CLAUDE.md files, and code comments; delete the connect-roslyn
  tutorial and repoint dangling xrefs to the reflection / :symbol forms.

Verified: dotnet build (0/0), dotnet test (all pass), and the static
docs build (457 pages, no broken-xref diagnostics).
@phil-scott-78 phil-scott-78 merged commit d9e2dca into main May 25, 2026
5 checks passed
@phil-scott-78 phil-scott-78 deleted the chore/remove-roslyn-integration branch May 25, 2026 03:47
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.

1 participant