renaming interface to runtime; moving in-memory from Scala to Kotlin#1948
Open
dragoslav wants to merge 18 commits into
Open
renaming interface to runtime; moving in-memory from Scala to Kotlin#1948dragoslav wants to merge 18 commits into
dragoslav wants to merge 18 commits into
Conversation
dragoslav
commented
Jun 9, 2026
Collaborator
- renaming module baker interface to runtime
- removing BakerF.Config - keeping existing BakerConfig
- moving baker in-memory runtime to a new module
-
- converting in-memory from Scala to Kotlin, but keeping existing tests in Scala
- Migrated all 7 annotation files from Java to Kotlin - Updated pom.xml with Kotlin build configuration - Maintained full backward compatibility with Java consumers - All annotations preserve runtime retention and proper targets - Verified with full Maven build: all 21 modules compile successfully - No breaking changes: existing Java, Scala, and Kotlin code works without modification
Create TestDataBuilders.kt to enable true unit testing by providing helper functions that create Petri net objects without dependencies on the full Recipe DSL pipeline. Key features: - Reuses RecipeCompiler helpers (interactionTransitionOf, createPlace, etc.) - Supports creating EventDescriptor, EventTransition, InteractionTransition - Enables testing individual functions without pipeline setup - Made RecipeComponents and TransitionCollections internal for test access All 82 existing tests still pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Converted all arc building and helper function tests to use TestDataBuilders instead of the full Recipe DSL pipeline, achieving true unit testing. Tests rewritten (11 total): - buildInternalEventArcs - now creates transitions/events directly - buildEventLimiterArcs - creates event transitions with firing limits - buildEventPreconditionArcs (3 tests) - uses builder preconditions - buildPreconditionErrors (4 tests) - uses builder transitions - buildSensoryEventArcs - creates event transitions directly - buildMultipleOutputFacilitatorArcs - creates shared ingredient transitions - buildInteractionArcs - creates all components with builders - buildMultipleOutputFacilitatorTransitions (2 tests) - no pipeline needed Enhanced TestDataBuilders: - Added outputEventIngredients parameter to simpleInteractionTransition - Fixed InteractionFailureStrategy to use recipe.common.BlockInteraction() - All builders now properly handle Scala interop Benefits: - Tests run faster (no Recipe DSL overhead) - Tests are truly isolated (no pipeline dependencies) - Clearer test intent (explicit test data creation) - Easier to debug (minimal moving parts) All 82 compiler tests still pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
#1940) * Update the compiler to mostly use the kotlin data classes. Only the InteractionTransition and it's used clases are scala. Next to all kotlin petrinet * Removed interaction helper functio Made originalName non-nullable in InteractionDescriptor
* Extracted baker-recipe-manager module from baker-akka-runtime * Extracted Timeouts from AkkaBakerConfig * Extracted akka baker actor system from akka baker runtime
Release 6.0.0 Scala and Kotlin recipe compilers with output comparison
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.