Skip to content

Add support to ignore and decorate Custom API implementations#4

Merged
beyro merged 1 commit into
mainfrom
beyro-ignore-custom-api-plugins
Jun 19, 2026
Merged

Add support to ignore and decorate Custom API implementations#4
beyro merged 1 commit into
mainfrom
beyro-ignore-custom-api-plugins

Conversation

@beyro

@beyro beyro commented Jun 19, 2026

Copy link
Copy Markdown
Owner

Summary

dvx plugin adopt was scaffolding [PluginStep] attributes for Custom API implementations, which aren't event plugins — their handlers run at stage 30 (Main Operation), so the generated attributes were invalid. This change makes adopt, sync, and register recognize and skip Custom API registrations, and adds a [CustomApi] marker attribute to make the intent explicit in source.

Changes

  • adopt: StepImporter skips Custom API steps — detected by stage == 30, a Custom API message, or a plugin type referenced by customapi.plugintypeid (new SdkMetadata lookups) — and marks the implementing class with [CustomApi] instead of [PluginStep].
  • sync / register: PluginDiscovery skips [CustomApi] classes silently; the marker takes precedence over any [PluginStep] on the same class.
  • New attribute: [CustomApi] in dvx.PluginAttributes marks an IPlugin class as a Custom API implementation.
  • Packaging: dvx.PluginAttributes 1.1.21.2.0; dvx CLI package id dvxdvx.cli, 1.6.01.6.1.

Testing

Full suite green (230 tests); builds across net462/net471/net9.0 with no warnings. New tests cover discovery skip (including [CustomApi] + [PluginStep]), the three adopt detection signals, and idempotent marker writing. README and RegressionTests.md updated.

Fixes #3

@beyro beyro merged commit d584ab0 into main Jun 19, 2026
1 check passed
@beyro beyro deleted the beyro-ignore-custom-api-plugins branch June 19, 2026 09:38
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.

dvx plugin adopt adds tags for CustomAPI and CustomAction plugins

1 participant