Skip to content

Docs: source-generated extension/option discovery manifest#372

Merged
jeremydmiller merged 1 commit into
mainfrom
docs-extension-discovery
May 26, 2026
Merged

Docs: source-generated extension/option discovery manifest#372
jeremydmiller merged 1 commit into
mainfrom
docs-extension-discovery

Conversation

@jeremydmiller
Copy link
Copy Markdown
Member

Follow-up to #371 — documents the compile-time extension/option discovery feature.

Adds a "Source-generated extension manifest" section to the AOT guide (docs/codegen/aot.md), as a sibling to the existing command-manifest docs. Covers:

  • JasperFx.Generated.DiscoveredExtensions — what the generator emits and why (eliminates the reflective AssemblyFinder assembly scan for extension/option types).
  • The eligibility gate: [JasperFxAssembly]-derived attribute or executable (entry) assembly.
  • The two discovery sources (deduped): assembly-attribute-declared types ([WolverineModule<T>] / [JasperFxAssembly(typeof(T))]) and IJasperFxExtension marker implementers.
  • Runtime consumption via GeneratedExtensionManifest.ReadFromLoadedAssemblies() / AnyManifestPresent(), with the reflective fallback.

Also cross-references the new manifest from the AssemblyFinder "trim-hostile" note.

Branched off and rebased on the latest main (which includes #371).

🤖 Generated with Claude Code

Adds a "Source-generated extension manifest" section to the AOT guide (sibling to the
existing command-manifest docs) covering JasperFx.Generated.DiscoveredExtensions, the
eligibility gate ([JasperFxAssembly]-derived or executable), the two discovery sources
(attribute-declared types + IJasperFxExtension implementers), and GeneratedExtensionManifest
runtime consumption. Cross-references it from the AssemblyFinder trim-hostile note.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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