You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Cratis.Stage.Rendering.Cratis.Scaffolding — scaffolds the Cratis project a rendered application is placed into, from the Cratis templates. Take it alongside the renderer and pass TemplateEngineProjectScaffolder to CratisRenderer to keep today's behavior. (#34)
A Screenplay specification exercising its slice's command renders as a Cratis spec — a CommandScenario<T> in the when_ folder layout, wrapped in #if DEBUG. Appended events are asserted against the event source the command's identifier names, narrowed to the values the specification states; a rejection asserts both that the command failed and that it failed as validation. (#14)
Changed
CratisRenderer.CreateDefault() renders into the target directory without scaffolding a project around it, which is what regenerating from a document into a project that already exists needs. (#34)
A specification that cannot be rendered faithfully is reported with the reason instead of being rendered — one that establishes prior state with given, states read model state, exercises another slice's command, or asserts nothing. (#14)
Specifications are no longer counted in a slice's unrendered-construct list, since each one now either renders or says on its own why it does not. (#14)
Removed
Cratis.Stage.Rendering.Cratis no longer depends on Cratis, Cratis.Arc.MongoDB, Cratis.Templates or the three Microsoft.TemplateEngine.* packages. The package is Cratis.Stage.Contracts and Cratis.Screenplay and nothing else. (#34, #18)
TemplateEngineProjectScaffolder, SampleSlice, ScaffoldingFailed, TemplateNotFound and TemplatePackageNotFound move to the new scaffolding package, keeping their namespace. (#34)
Fixed
Consuming the renderer no longer contributes 28 global usings to the consuming project, which made User, AppendedEvent, CommandContext and ObserverRunningState ambiguous — 160 compilation errors in the CLI alone. (#34)
Consuming the renderer no longer brings the Arc, Chronicle and MongoDB runtime it generates code for, nor a NuGet.Frameworks that stops Microsoft.Build.Locator from running. A host can now render and use MSBuild in the same process. (#34, #18)