Skip to content

build: enable .NET analyzers and enforce consistency on generated code#2

Merged
UltimateSeeSharp merged 1 commit into
mainfrom
mavlink-missions
May 17, 2026
Merged

build: enable .NET analyzers and enforce consistency on generated code#2
UltimateSeeSharp merged 1 commit into
mainfrom
mavlink-missions

Conversation

@UltimateSeeSharp
Copy link
Copy Markdown
Owner

  • Enable EnableNETAnalyzers with AnalysisLevel=latest, AnalysisMode=Recommended, and EnforceCodeStyleInBuild in Directory.Build.props; TreatWarningsAsErrors gates findings in CI
  • Add root .editorconfig excluding generated code (MavNet.Protocol.Generated tree and MessageRegistry.cs) with minimal suppression baseline (CA1062/CA2007/IDE0058/CA1031/CA1848/CA1873, plus tool-scoped CA1305)
  • Pin codegen process culture to InvariantCulture in tools/MavNet.CodeGen/Program.cs for determinism; update RegistryEmitter.cs for enum rename
  • Rename public enum MessageFlags → MessageCapabilities in MessageInfo.cs (BREAKING for 0.1.0 pre-release)
  • Address analyzer findings: GC.SuppressFinalize in Vehicle.DisposeAsync (CA1816), ObjectDisposedException.ThrowIf in MissionClient (CA1513), reorder Drone.ConnectAsync cancellation token parameter (CA1068), make Probe IDisposable (CA1001), update test helper return types (CA1859)
  • Add AllowlistWiringConsistencyTests to verify allowlisted inbound messages have matching IMavlinkConnection events; catches codegen/wiring drift
  • Update CLAUDE.md with static-analysis section and allowlist wiring guard note; refresh README.md and ROADMAP.md per docs-alongside rule

  - Enable EnableNETAnalyzers with AnalysisLevel=latest, AnalysisMode=Recommended, and EnforceCodeStyleInBuild in
  Directory.Build.props; TreatWarningsAsErrors gates findings in CI
  - Add root .editorconfig excluding generated code (MavNet.Protocol.Generated tree and MessageRegistry.cs) with minimal suppression
   baseline (CA1062/CA2007/IDE0058/CA1031/CA1848/CA1873, plus tool-scoped CA1305)
  - Pin codegen process culture to InvariantCulture in tools/MavNet.CodeGen/Program.cs for determinism; update RegistryEmitter.cs
  for enum rename
  - Rename public enum MessageFlags → MessageCapabilities in MessageInfo.cs (BREAKING for 0.1.0 pre-release)
  - Address analyzer findings: GC.SuppressFinalize in Vehicle.DisposeAsync (CA1816), ObjectDisposedException.ThrowIf in
  MissionClient (CA1513), reorder Drone.ConnectAsync cancellation token parameter (CA1068), make Probe IDisposable (CA1001), update
  test helper return types (CA1859)
  - Add AllowlistWiringConsistencyTests to verify allowlisted inbound messages have matching IMavlinkConnection events; catches
  codegen/wiring drift
  - Update CLAUDE.md with static-analysis section and allowlist wiring guard note; refresh README.md and ROADMAP.md per
  docs-alongside rule
@UltimateSeeSharp UltimateSeeSharp self-assigned this May 17, 2026
@UltimateSeeSharp UltimateSeeSharp added the enhancement New feature or request label May 17, 2026
@UltimateSeeSharp UltimateSeeSharp merged commit 04e8572 into main May 17, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant