- 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
- AbstractStateMachineTests to AbstractStateMachineJUnit4Tests
- StateMachineTestPlanBuilderTests to StateMachineTestPlanBuilderJUnit4Tests
- Add AbstractStateMachineJUnit5Tests and StateMachineTestPlanBuilderJUnit5Tests
- Move away from junit4 assertThat methods
- Fixes#780
- Also completes and Fixes#771
- Just a migration
- Replace RedisRule with EnabledOnRedis
- Replace MongoDbRule with EnabledOnMongoDb
- spring-statemachine-test and some docs contains refs to junit4
but those are support packages and will stay in place.
- Fixes#779
- Relates #771
- Remove use of statemachine assertj assertions to prepare move
- Move statemachine assertj assertion to spring-statemachine-test
- Polish some tests and user TestUtils from core tests
- Remove most of a deprecation warning from core tests
- Relates #744
- In a case where fork/join happens within a substate we should not exit parent state
which causes cascading stops for forked regions thus causing inconsistent lifecycle
states within that kind of a machine structure. This for example caused parent submachine
to end up stopped and all regions running even if some regions ended up into terminal state.
- Fixes#737
- Currently into as internal new feature, add state
completed concecept and use it in various places.
- Main focus for this commit is to add support using
anonymous transitions with state do actions which
requires proper completion schematics.
- Internal functionality here will probably expose to
user level in future releases using various other
concepts.
- Backport #466
- Relates #504
- Adding null check for current state
- Remove synchronization from scheduleEventQueueProcessing
method in executor. Looks like this sync is not really needed
and indeed may cause jvm level deadlocks if threads are used
for execution.
- Change how some internals in
AbstractStateMachine are synchronized
to limit changes for deadlock.
- Relates to #307
- Backport of #359#360
- There is a newer mongo client with changed behaviour
as junit rule skipping tests if mongo is not running
waits 30s for a connect failure. Add new server
select timeout.
- Fixes#314
- Fix RedisRepositoryState and MongoDbStateRepository not to use
null for machineid in any case as contract is that empty machineid
is always empty not null.
- This issue was found when adding initial tck config tests, thus
this commit also adds initial tck tests.
- Fixes#279
- Relates to #278
- Classic case of using == vs. equals if Strings are involved.
- In DefaultStateMachineExecutor change event comparison
from == to equals.
- Tests using enums naturally work, but some tests using Strings
had a wrong checks.
- Fixes#253
- Enhance state context to have more info about target
states which is needed to make a proper decision if
region needs to be started.
- Fix RegionState to not to start if it looks like
direct entry will be done later.
- Relates to #221
- Fix a case where region is entered directly. Essentially
now trying to see if entry into a RegionState needs to
start a region as otherwise we assume direct entry will
do a start anyway.
- Fix some tests which kinda tested wrong scenarios.
- Fixes#221
- New test for choice exit scenario which
I thought was broken.
- Add new spring-statemachine-build-tests project to
ease testing so that we can mix everything. This
project is a topdog which can depend on all other
modules.
- Relates to #203