Repository navigation
Release v22.52.0
Summary
The Screenplay generator now targets Screenplay 4.68 and carries much more of an Arc application into its .play model. By default it only writes what it can prove from the source and what the executable model admits. Everything else falls back to the previous output or is left out with a diagnostic, so the model never states something the code does not do.
Added
- Commands mark their event source
identifierand route productions withfor, using the same rules as Arc's runtime. The generator reports ambiguous or unreadable identities and productions routed to another event source. (part of #2887) - An event produced by exactly one unconditional, complete command production anywhere in the application is written inline as
produces event, and the embedded event model board shows inline events. (part of #2887) - Events carry their XML summary as
description, their remarks asdocumentation, and a rename pin for generation-1 events whose stored name differs from the type name. (part of #2887) - Unconditional
Must(Method)validator rules become named rules that point to their implementation file, where no specification exercises the command. (part of #2887) - Event scenarios become
when appendspecifications, and specifications state the event source of their events withfor. A scenario whose event sources cannot be stated faithfully is left out and reported. (part of #2887) - Identifiers and values a handler creates with
Guid.NewGuid(), and scalar and record command responses, are written asgeneratedvalues andreturnswhere the executable model admits them and specifications do not depend on them. (part of #2887) ScreenplayOptions.AuthoringOnlyConstructs(MSBuildCratisEmbeddedScreenplayAuthoringOnlyConstructs) also writes constructs that are not executable yet: operations and the systems they use, event sources and streams with command routes, andreadsandrequirerecovered fromProvide(). (part of #2887)
Changed
- Arc uses Cratis.Screenplay 4.68.2. (part of #2887)
- Commands whose handler is empty or only returns a response no longer get a
handlerfile reference, andSP0044is reported as information whenAuthoringOnlyConstructsis off. (part of #2887)