From 48f08ea3c2ceb2f365db9e890ef5d84e4551f5e6 Mon Sep 17 00:00:00 2001 From: "Jeremy D. Miller" Date: Tue, 12 May 2026 17:06:52 -0500 Subject: [PATCH] Set IsAotCompatible=true on JasperFx + JasperFx.Events (#213) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit First deliverable on the AOT compliance pillar (jasperfx#213). Flipping the flag turns on the IL2026 / IL2070 / IL2075 / IL3050 analyzers against our own build, so the punch list of reflective surfaces that still need [RequiresDynamicCode] / [RequiresUnreferencedCode] / [DynamicallyAccessedMembers] annotations surfaces in our CI rather than downstream consumers'. Tests still pass on net9.0 + net10.0 across CoreTests (407), EventTests (255), CodegenTests (366), and CommandLineTests (280). Initial fallout (net9.0; net10.0 mirrors): JasperFx — 236 warnings 104 Core (64 Reflection, 30 IoC, 10 TypeScanning) 54 CodeGeneration (22 Services, 8 Snapshots, 8 GeneratedType, etc.) 46 CommandLine (12 Parsing, 10 CommandFactory, 6 Internal, etc.) 16 ServiceContainer.cs 6 JasperFxOptions.cs 10 misc (Resources, Environment, Descriptors, etc.) JasperFx.Events — 134 warnings 30 Projections/EventProjectionApplication.cs 60 Aggregation/* (JasperFxAggregationProjectionBase, AggregateApplication.*, CreateMethodCollection, AggregateVersioning, ApplyMethodCollection) 12 Internals + IEventRegistry 16 Daemon, CommandLine, StreamAction, Tags, misc These are the inputs for the rest of the AOT pillar: - The CommandLine slice will be addressed in the follow-up audit (jasperfx#213 sub-item — "Audit reflective discovery in JasperFx.CommandLine for IJasperFxCommand"). - The AOT-clean smoke-test consumer project (next pillar sub-item) will pin the build clean once each slice has been annotated or migrated. - The Reflection / IoC / Aggregation slices want follow-up issues filed against the pillar to track per-area annotation work. --- src/JasperFx.Events/JasperFx.Events.csproj | 5 +++++ src/JasperFx/JasperFx.csproj | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/JasperFx.Events/JasperFx.Events.csproj b/src/JasperFx.Events/JasperFx.Events.csproj index 4deef43..8ee771b 100644 --- a/src/JasperFx.Events/JasperFx.Events.csproj +++ b/src/JasperFx.Events/JasperFx.Events.csproj @@ -4,6 +4,11 @@ Foundational Event Store Abstractions and Projections for the Critter Stack JasperFx.Events 2.0.0-alpha.3 + + true diff --git a/src/JasperFx/JasperFx.csproj b/src/JasperFx/JasperFx.csproj index b16651a..fcaf700 100644 --- a/src/JasperFx/JasperFx.csproj +++ b/src/JasperFx/JasperFx.csproj @@ -4,6 +4,11 @@ JasperFx JasperFx 2.0.0-alpha.10 + + true