Skip to content

feat(SourceGenerator): Scaffold + [<ArguGenerate>] marker attribute#318

Open
dimension-zero wants to merge 1 commit into
fsprojects:masterfrom
dimension-zero:pr/30-source-generator-companion
Open

feat(SourceGenerator): Scaffold + [<ArguGenerate>] marker attribute#318
dimension-zero wants to merge 1 commit into
fsprojects:masterfrom
dimension-zero:pr/30-source-generator-companion

Conversation

@dimension-zero
Copy link
Copy Markdown
Contributor

feat(SourceGenerator): Scaffold + [] marker attribute

  • New project src/Argu.SourceGenerator (netstandard2.0): publishes the
    [] marker attribute. Today the marker is inert; a
    follow-up release will ship the actual generator that consumes it to
    emit a compile-time-built schema (bypassing Argu's reflection path).
    README.md documents the planned design and roadmap.
  • New sample samples/Argu.Samples.SourceGenerated: shows the opt-in
    shape. The sample currently runs through Argu's standard reflection
    path; once the generator lands, the same SampleArgs annotated with
    [] will use the generated factory automatically.
  • Argu.sln: register both new projects. The sample is nested under the
    existing 'samples' folder; the SourceGenerator library is a sibling
    of Argu.

Strictly additive. No change to the core Argu package's public surface,
behaviour, or dependency graph.


* New project src/Argu.SourceGenerator (netstandard2.0): publishes the
  [<ArguGenerate>] marker attribute. Today the marker is inert; a
  follow-up release will ship the actual generator that consumes it to
  emit a compile-time-built schema (bypassing Argu's reflection path).
  README.md documents the planned design and roadmap.
* New sample samples/Argu.Samples.SourceGenerated: shows the opt-in
  shape. The sample currently runs through Argu's standard reflection
  path; once the generator lands, the same SampleArgs annotated with
  [<ArguGenerate>] will use the generated factory automatically.
* Argu.sln: register both new projects. The sample is nested under the
  existing 'samples' folder; the SourceGenerator library is a sibling
  of Argu.

Strictly additive. No change to the core Argu package's public surface,
behaviour, or dependency graph.
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