- Focus of this commit is to have modern gradle build.
- Migrate most of a plugin configurations from dsl
into buildSrc.
- This fixes issues with existing docs build.
- Allows to sign files so that we have that part
done for central in a build.
- We can skip publishing samples.
- We're able to share similar logic for modules
which are meant for publish or just being samples.
- It's easier to upgrade gradle versions without
getting various build issues.
- Relates #1143
- Switch propdeps-plugin to custom OptionalDependenciesPlugin
- Switch io.spring.dependency-management with custom
spring-statemachine-platform project
- Use proper gradle publication system
- Switch to testfixtures from a custom tests jar
- Migrate to spring-asciidoctor-backends
- Generic changes to bom/starter create as we now use publications
- Restore all regions of statemachine
- A persisted statemachine with orthogonal states will not be correctly
restored as only the top region gets correctly reset. Tests in
StateMachineResetTests use the correct way to reset the statemachine
with all regions
- Fixes#978
- testing: added test case for dynamic generated id
- docs: update documentation
- fix: Support @WithStateMachine for machines generated using either empty id or dynamically generated id
- Fixes#940
- While this doesn't change underlying behaviour, add sendEventCollect
method which takes a mono and returns a mono as list of results.
- Add some notes to docs why this is like this, aka having regions
returns multiple results.
- Fixes#922
- Re-implement resetStateMachineReactively as fully reactive
chain by following same logic as in blocking version.
- New interface ReactiveStateMachineAccess as we need to
know if one need to call reactive method.
- Fixes#911
- Now doing triggerSink.emitNext with retry instead
of parking which caused blocking errors from blockhound.
- Retry is now hardcoded and settings for it could be
exposed later.
- As a bad behaviour we relied on reactor throwing
this particular exception to re-throw it to propagate
exception order to deny event.
- Now trying to use callback to do a same thing as
newer reactor versions don't throw anymore.
- Original preStateChange and postStateChange are now deprecated
and once those are removed we don't need to do calls to both
in StateMachineInterceptorList.
- Relates to #871
- As it's currently expected that pre/post interceptor are called
for both preStateChange and postStateChange, fix
AbstractPersistingStateMachineInterceptor so that actual persist
doesn't happen twice.
- Eventually original preStateChange and postStateChange methods
will get removed after deprecation(which should have happened
a long time ago).
- Forward port #871
- Before attempting to add better level of error handling,
discard all errors what might come from action execution.
- Handle some cases where event deny is reported back as accepted.
- Fix reactor error for double subcription.
- Relates #821
- Now starting machine outside of a sycn block with
acquire vs. release. This should allow long running
start in a machine to allow next acquire to work faster.
- Forwardport #770
- Relates #777
- For Guard and Transition change call stach to be fully
reactive from executor. Some changed signatures similarly
what was needed for reactive Actions.
- Disabling one smoke test to get figure out later as
something is broken somewhere, possible reactor bug...
- Relates #791