Migrate Kotlin extension to Axon Framework 5#4281
Migrate Kotlin extension to Axon Framework 5#4281vcanuel wants to merge 936 commits intoAxonIQ:mainfrom
Conversation
Bumps the github-dependencies group with 1 update: [actions/setup-java](https://github.com/actions/setup-java). Updates `actions/setup-java` from 4.1.0 to 4.2.1 - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](actions/setup-java@v4.1.0...v4.2.1) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…tions/github-dependencies-82a68926b1 Bump the github-dependencies group with 1 update
Bumps the maven-dependencies group with 3 updates: [org.apache.maven.plugins:maven-assembly-plugin](https://github.com/apache/maven-assembly-plugin), [org.apache.maven.plugins:maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin) and [io.projectreactor:reactor-core](https://github.com/reactor/reactor-core). Updates `org.apache.maven.plugins:maven-assembly-plugin` from 3.6.0 to 3.7.0 - [Release notes](https://github.com/apache/maven-assembly-plugin/releases) - [Commits](apache/maven-assembly-plugin@maven-assembly-plugin-3.6.0...maven-assembly-plugin-3.7.0) Updates `org.apache.maven.plugins:maven-gpg-plugin` from 3.1.0 to 3.2.0 - [Release notes](https://github.com/apache/maven-gpg-plugin/releases) - [Commits](apache/maven-gpg-plugin@maven-gpg-plugin-3.1.0...maven-gpg-plugin-3.2.0) Updates `io.projectreactor:reactor-core` from 3.6.2 to 3.6.4 - [Release notes](https://github.com/reactor/reactor-core/releases) - [Commits](reactor/reactor-core@v3.6.2...v3.6.4) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-assembly-plugin dependency-type: direct:production update-type: version-update:semver-minor dependency-group: maven-dependencies - dependency-name: org.apache.maven.plugins:maven-gpg-plugin dependency-type: direct:production update-type: version-update:semver-minor dependency-group: maven-dependencies - dependency-name: io.projectreactor:reactor-core dependency-type: direct:development update-type: version-update:semver-patch dependency-group: maven-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…en-dependencies-0e01e8d5b6 Bump the maven-dependencies group with 3 updates
Bumps the github-dependencies group with 1 update: [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata). Updates `dependabot/fetch-metadata` from 1 to 2 - [Release notes](https://github.com/dependabot/fetch-metadata/releases) - [Commits](dependabot/fetch-metadata@v1...v2) --- updated-dependencies: - dependency-name: dependabot/fetch-metadata dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the maven-dependencies group with 3 updates: [org.apache.maven.plugins:maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin), [org.apache.maven.plugins:maven-assembly-plugin](https://github.com/apache/maven-assembly-plugin) and [org.apache.maven.plugins:maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin). Updates `org.apache.maven.plugins:maven-compiler-plugin` from 3.12.1 to 3.13.0 - [Release notes](https://github.com/apache/maven-compiler-plugin/releases) - [Commits](apache/maven-compiler-plugin@maven-compiler-plugin-3.12.1...maven-compiler-plugin-3.13.0) Updates `org.apache.maven.plugins:maven-assembly-plugin` from 3.7.0 to 3.7.1 - [Release notes](https://github.com/apache/maven-assembly-plugin/releases) - [Commits](apache/maven-assembly-plugin@maven-assembly-plugin-3.7.0...maven-assembly-plugin-3.7.1) Updates `org.apache.maven.plugins:maven-gpg-plugin` from 3.2.0 to 3.2.1 - [Release notes](https://github.com/apache/maven-gpg-plugin/releases) - [Commits](apache/maven-gpg-plugin@maven-gpg-plugin-3.2.0...maven-gpg-plugin-3.2.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-compiler-plugin dependency-type: direct:production update-type: version-update:semver-minor dependency-group: maven-dependencies - dependency-name: org.apache.maven.plugins:maven-assembly-plugin dependency-type: direct:production update-type: version-update:semver-patch dependency-group: maven-dependencies - dependency-name: org.apache.maven.plugins:maven-gpg-plugin dependency-type: direct:production update-type: version-update:semver-patch dependency-group: maven-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…en-dependencies-413cd93f1f Bump the maven-dependencies group with 3 updates
…tions/github-dependencies-639f306d57 Bump the github-dependencies group with 1 update
Update Maven Wrapper by running wrapper goal. Furthermore, manually increase the version to 3.6.3 AxonIQ#331
Bumps the maven-dependencies group with 1 update: [org.apache.maven.plugins:maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin). Updates `org.apache.maven.plugins:maven-gpg-plugin` from 3.2.1 to 3.2.2 - [Release notes](https://github.com/apache/maven-gpg-plugin/releases) - [Commits](apache/maven-gpg-plugin@maven-gpg-plugin-3.2.1...maven-gpg-plugin-3.2.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-gpg-plugin dependency-type: direct:production update-type: version-update:semver-patch dependency-group: maven-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…en-dependencies-5d5bb3bd52 Bump the maven-dependencies group with 1 update
Bumps the maven-dependencies group with 1 update: [org.apache.maven.plugins:maven-source-plugin](https://github.com/apache/maven-source-plugin). Updates `org.apache.maven.plugins:maven-source-plugin` from 3.3.0 to 3.3.1 - [Commits](apache/maven-source-plugin@maven-source-plugin-3.3.0...maven-source-plugin-3.3.1) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-source-plugin dependency-type: direct:production update-type: version-update:semver-patch dependency-group: maven-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…en-dependencies-5a852e6998 Bump org.apache.maven.plugins:maven-source-plugin from 3.3.0 to 3.3.1 in the maven-dependencies group
Bumps the maven-dependencies group with 4 updates: org.slf4j:slf4j-simple, [org.apache.maven.plugins:maven-jar-plugin](https://github.com/apache/maven-jar-plugin), [org.apache.maven.plugins:maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin) and [io.projectreactor:reactor-core](https://github.com/reactor/reactor-core). Updates `org.slf4j:slf4j-simple` from 2.0.12 to 2.0.13 Updates `org.apache.maven.plugins:maven-jar-plugin` from 3.3.0 to 3.4.0 - [Release notes](https://github.com/apache/maven-jar-plugin/releases) - [Commits](apache/maven-jar-plugin@maven-jar-plugin-3.3.0...maven-jar-plugin-3.4.0) Updates `org.apache.maven.plugins:maven-gpg-plugin` from 3.2.2 to 3.2.3 - [Release notes](https://github.com/apache/maven-gpg-plugin/releases) - [Commits](apache/maven-gpg-plugin@maven-gpg-plugin-3.2.2...maven-gpg-plugin-3.2.3) Updates `io.projectreactor:reactor-core` from 3.6.4 to 3.6.5 - [Release notes](https://github.com/reactor/reactor-core/releases) - [Commits](reactor/reactor-core@v3.6.4...v3.6.5) --- updated-dependencies: - dependency-name: org.slf4j:slf4j-simple dependency-type: direct:production update-type: version-update:semver-patch dependency-group: maven-dependencies - dependency-name: org.apache.maven.plugins:maven-jar-plugin dependency-type: direct:production update-type: version-update:semver-minor dependency-group: maven-dependencies - dependency-name: org.apache.maven.plugins:maven-gpg-plugin dependency-type: direct:production update-type: version-update:semver-patch dependency-group: maven-dependencies - dependency-name: io.projectreactor:reactor-core dependency-type: direct:development update-type: version-update:semver-patch dependency-group: maven-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…en-dependencies-955ad13337 Bump the maven-dependencies group with 4 updates
Bumps the maven-dependencies group with 2 updates: [org.apache.maven.plugins:maven-jar-plugin](https://github.com/apache/maven-jar-plugin) and [org.apache.maven.plugins:maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin). Updates `org.apache.maven.plugins:maven-jar-plugin` from 3.4.0 to 3.4.1 - [Release notes](https://github.com/apache/maven-jar-plugin/releases) - [Commits](apache/maven-jar-plugin@maven-jar-plugin-3.4.0...maven-jar-plugin-3.4.1) Updates `org.apache.maven.plugins:maven-gpg-plugin` from 3.2.3 to 3.2.4 - [Release notes](https://github.com/apache/maven-gpg-plugin/releases) - [Commits](apache/maven-gpg-plugin@maven-gpg-plugin-3.2.3...maven-gpg-plugin-3.2.4) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-jar-plugin dependency-type: direct:production update-type: version-update:semver-patch dependency-group: maven-dependencies - dependency-name: org.apache.maven.plugins:maven-gpg-plugin dependency-type: direct:production update-type: version-update:semver-patch dependency-group: maven-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…en-dependencies-607cd2616d Bump the maven-dependencies group with 2 updates
Bumps the maven-dependencies group with 2 updates: [org.apache.maven.plugins:maven-install-plugin](https://github.com/apache/maven-install-plugin) and [org.apache.maven.plugins:maven-deploy-plugin](https://github.com/apache/maven-deploy-plugin). Updates `org.apache.maven.plugins:maven-install-plugin` from 3.1.1 to 3.1.2 - [Release notes](https://github.com/apache/maven-install-plugin/releases) - [Commits](apache/maven-install-plugin@maven-install-plugin-3.1.1...maven-install-plugin-3.1.2) Updates `org.apache.maven.plugins:maven-deploy-plugin` from 3.1.1 to 3.1.2 - [Release notes](https://github.com/apache/maven-deploy-plugin/releases) - [Commits](apache/maven-deploy-plugin@maven-deploy-plugin-3.1.1...maven-deploy-plugin-3.1.2) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-install-plugin dependency-type: direct:production update-type: version-update:semver-patch dependency-group: maven-dependencies - dependency-name: org.apache.maven.plugins:maven-deploy-plugin dependency-type: direct:production update-type: version-update:semver-patch dependency-group: maven-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…en-dependencies-0824e9b1c9 Bump the maven-dependencies group with 2 updates
Bumps the maven-dependencies group with 1 update: [io.projectreactor:reactor-core](https://github.com/reactor/reactor-core). Updates `io.projectreactor:reactor-core` from 3.6.5 to 3.6.6 - [Release notes](https://github.com/reactor/reactor-core/releases) - [Commits](reactor/reactor-core@v3.6.5...v3.6.6) --- updated-dependencies: - dependency-name: io.projectreactor:reactor-core dependency-type: direct:development update-type: version-update:semver-patch dependency-group: maven-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…en-dependencies-2a21eec477 Bump io.projectreactor:reactor-core from 3.6.5 to 3.6.6 in the maven-dependencies group
Bumps the maven-dependencies group with 1 update: [org.apache.maven.plugins:maven-enforcer-plugin](https://github.com/apache/maven-enforcer). Updates `org.apache.maven.plugins:maven-enforcer-plugin` from 3.4.1 to 3.5.0 - [Release notes](https://github.com/apache/maven-enforcer/releases) - [Commits](apache/maven-enforcer@enforcer-3.4.1...enforcer-3.5.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-enforcer-plugin dependency-type: direct:production update-type: version-update:semver-minor dependency-group: maven-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…en-dependencies-0ab2165948 Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.4.1 to 3.5.0 in the maven-dependencies group
Bumps the maven-dependencies group with 6 updates: | Package | From | To | | --- | --- | --- | | [org.jetbrains.kotlinx:kotlinx-serialization-core](https://github.com/Kotlin/kotlinx.serialization) | `1.6.3` | `1.7.0` | | [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.6.3` | `1.7.0` | | [org.jetbrains.kotlinx:kotlinx-serialization-cbor](https://github.com/Kotlin/kotlinx.serialization) | `1.6.3` | `1.7.0` | | [org.jetbrains.kotlinx:kotlinx-serialization-protobuf](https://github.com/Kotlin/kotlinx.serialization) | `1.6.3` | `1.7.0` | | [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) | `3.2.5` | `3.3.0` | | [io.projectreactor:reactor-core](https://github.com/reactor/reactor-core) | `3.6.6` | `3.6.7` | Updates `org.jetbrains.kotlinx:kotlinx-serialization-core` from 1.6.3 to 1.7.0 - [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases) - [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md) - [Commits](Kotlin/kotlinx.serialization@v1.6.3...v1.7.0) Updates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.6.3 to 1.7.0 - [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases) - [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md) - [Commits](Kotlin/kotlinx.serialization@v1.6.3...v1.7.0) Updates `org.jetbrains.kotlinx:kotlinx-serialization-cbor` from 1.6.3 to 1.7.0 - [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases) - [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md) - [Commits](Kotlin/kotlinx.serialization@v1.6.3...v1.7.0) Updates `org.jetbrains.kotlinx:kotlinx-serialization-protobuf` from 1.6.3 to 1.7.0 - [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases) - [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md) - [Commits](Kotlin/kotlinx.serialization@v1.6.3...v1.7.0) Updates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.6.3 to 1.7.0 - [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases) - [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md) - [Commits](Kotlin/kotlinx.serialization@v1.6.3...v1.7.0) Updates `org.jetbrains.kotlinx:kotlinx-serialization-cbor` from 1.6.3 to 1.7.0 - [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases) - [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md) - [Commits](Kotlin/kotlinx.serialization@v1.6.3...v1.7.0) Updates `org.jetbrains.kotlinx:kotlinx-serialization-protobuf` from 1.6.3 to 1.7.0 - [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases) - [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md) - [Commits](Kotlin/kotlinx.serialization@v1.6.3...v1.7.0) Updates `org.apache.maven.plugins:maven-surefire-plugin` from 3.2.5 to 3.3.0 - [Release notes](https://github.com/apache/maven-surefire/releases) - [Commits](apache/maven-surefire@surefire-3.2.5...surefire-3.3.0) Updates `io.projectreactor:reactor-core` from 3.6.6 to 3.6.7 - [Release notes](https://github.com/reactor/reactor-core/releases) - [Commits](reactor/reactor-core@v3.6.6...v3.6.7) --- updated-dependencies: - dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-core dependency-type: direct:production update-type: version-update:semver-minor dependency-group: maven-dependencies - dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json dependency-type: direct:production update-type: version-update:semver-minor dependency-group: maven-dependencies - dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-cbor dependency-type: direct:production update-type: version-update:semver-minor dependency-group: maven-dependencies - dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-protobuf dependency-type: direct:production update-type: version-update:semver-minor dependency-group: maven-dependencies - dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json dependency-type: direct:production update-type: version-update:semver-minor dependency-group: maven-dependencies - dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-cbor dependency-type: direct:production update-type: version-update:semver-minor dependency-group: maven-dependencies - dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-protobuf dependency-type: direct:production update-type: version-update:semver-minor dependency-group: maven-dependencies - dependency-name: org.apache.maven.plugins:maven-surefire-plugin dependency-type: direct:production update-type: version-update:semver-minor dependency-group: maven-dependencies - dependency-name: io.projectreactor:reactor-core dependency-type: direct:development update-type: version-update:semver-patch dependency-group: maven-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…en-dependencies-a2dddda7c3 Bump the maven-dependencies group with 6 updates
Fix docs yet again (cherry picked from commit b2cee35)
Fix inconsistency
…xonIQ#3878) - Replace parent with monorepo axon-extensions / 5.1.0-SNAPSHOT - Remove log4j.version override that breaks monorepo Maven resolution - Delete AF4-only files: AggregateLifecycleExtensions, BuilderExtensions, EventUpcaster, ResultDiscriminatorCommandCallback, ArrayResponseType, serialization module, spring-devtools.properties and all their tests - Rewrite CommandGatewayExtensions for AF5 CommandResult API - Rewrite QueryGatewayExtensions for AF5 (R:Any bound, streamingQuery) - Rewrite QueryUpdateEmitterExtensions for AF5 (Q:Any, explicit SAM lambda) - Rewrite FixtureExtensions for AF5 AxonTestPhase API - All 18 tests pass
…editorconfig, .gitattributes, CONTRIBUTING.md, LICENSE.txt, mvnw, docs, coverage-report)
|
Thanks for picking this up @vcanuel , I am on vacation this week but will review on Monday. |
There was a problem hiding this comment.
Running the archtest in axon-common fails with this state of the file?
Reverting the file to the contents in "main" solved this.
|
|
||
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
| <modelVersion>4.0.0</modelVersion> | ||
| <name>Axon Framework - Kotlin Extension</name> |
There was a problem hiding this comment.
Naming convention: Axon Extension - Kotlin - Parent
|
Thanks @vcanuel . Looking great. I will take over and fix some minor things as it is probably faster than round-tripping. Short update: We had a team meeting this morning and decided to not include this in the upcoming 5.1.0-RC1, as it would really benefit from a kotlin example application showing how to get the most out of this extension and we do not have the time to do so.. So might I ask you to change ths PR to go against my original feature branch We could also need your help finalizing this extension if you are interested. I will copy the https://github.com/AxonIQ/university-demo-kotlin to the examples section of this repository on the |
|
Setting this PR to milestone 5.2.0, as we do not have sufficient time to round of this contribution before our foreseen release date of 5.1.0. |
also: - keep legacy extension code in `_todo` - use simplified kotlin 2.3.20 project setup - use kotlin package structure
|
I manually merged this PR into #3878 as we won't necessarily want to merge this to main soon. I also restructured the packages a bit and imported the university-demo-kotlin into examples for reference. @vcanuel - use this Draft PR as reference for further improvements if you like, and thanks again for your contributions. |
|
Manually merged this PR into #3878 to continue the work. |
Closes AxonFramework/extension-kotlin#393. Takes over #3878 by @jangalinski.
Context
@jangalinski opened #3878 to import the
extension-kotlinrepository intoextensions/kotlin/(with full commit history) and wire it into the monorepo build.That PR intentionally stopped there: incompatible AF4 files were moved to
_todo/rather than rewritten, leaving the actual AF5 migration as follow-up work.
This PR completes that migration. The reference for every change is
extension-kotlin#394,
which performed the same migration against the standalone
extension-kotlinrepository (targeting AF 5.1.0).
Differences from extension-kotlin#394
The monorepo integration required a few adjustments beyond a straight copy of the patch.
extensions/kotlin/pom.xml— parent and coordinatesPR#394 kept the standalone
axon-kotlin-parent/4.12.x-SNAPSHOTparent andsimply updated
axon.versionto5.0.3.Our branch replaces the entire parent with the monorepo coordinates:
parent→axon-extensions/5.1.0-SNAPSHOTversion→5.1.0-SNAPSHOT(inherited)release-plugin, pluginRepositories, scm, developers,
.github/,.editorconfig,mvnw,coverage-report/, etc.)docs/removed — AF4 Antora reference content imported via history, no AF5equivalent yet; reference docs update is a separate effort
Additionally the
<log4j.version>2.13.3</log4j.version>property present in thestandalone pom was removed. In the monorepo it overrides the managed
2.25.3versionand causes a Maven resolution failure (
log4j-slf4j2-impl:2.13.3does not exist inMaven Central — only introduced in log4j 2.20).
CommandGatewayExtensions.kt—sendAndWaitnull safetyCommandGateway.sendAndWait(Object, Class<R>)is@Nullable. PR#394 silently truststhe platform type. Our branch adds
?: error(...)to fail fast with a clear messagepointing callers to
sendForResultas the nullable alternative.QueryUpdateEmitterExtensions.kt— type bound and SAM lambdaTwo changes vs PR#394:
Q : Anybound added (required to resolve the correct Javaoverload), and
filterwrapped in an explicit lambda to satisfyPredicate<? super Q>unambiguously.
@Suppress("UNCHECKED_CAST")covers the remaining compiler warning.What was done (full summary)
Build (
extensions/kotlin/pom.xml)axon-extensions/5.1.0-SNAPSHOT<log4j.version>2.13.3</log4j.version>(would break monorepo resolution)jackson-module-kotlin,kotlinx-serialization-core,javax.xml.bind:jaxb-apiall-open:annotation=...AggregateRootcompiler plugin optionaxon-configuration→axon-messagingin dependency managementDeleted — AF4-only, no AF5 equivalent (yet)
AggregateLifecycleExtensions.ktAggregateLifecycle/@AggregateRootremoved in AF5BuilderExtensions.ktEventSourcingRepository/GenericJpaRepositorybuilders not present in AF5ResultDiscriminatorCommandCallback.ktCommandCallback/CommandResultMessagereplaced byCommandResultEventUpcaster.ktSingleEventUpcasternot available in AF5.0/5.1; tracked for 5.2messaging/responsetypes/ArrayResponseType.ktAbstractResponseTyperemoved;ResponseTypehierarchy reworkedserialization/(entire module)Serializerreplaced byConverter; full rewrite out of scope — tracked as follow-upMETA-INF/spring-devtools.propertiesRewritten for AF5
CommandGatewayExtensions.kt—send,sendForResult,sendAndWaitoverCommandResult<R>(replaces AF4CommandCallback/CommandResultMessagepattern).QueryGatewayExtensions.kt—query,queryMany,subscriptionQueryretained;scatterGather*replaced bystreamingQuery; type boundR : Anyon all functionswhere
Ris used asClass<R>.QueryUpdateEmitterExtensions.kt— package import updated to AF5;Q : Anybound added; explicit SAM lambda forPredicate.kotlin-test/FixtureExtensions.kt—AggregateTestFixture/SagaTestFixture/TestExecutor/ResultValidatorreplaced by the AF5 phase-basedAxonTestFixture/AxonTestPhaseAPI;whenever(),whenever(command),exception(KClass),exception(KClass, message)rewritten accordingly.Tests
18 tests pass (12 in
kotlin, 6 inkotlin-test). Test files are identical tothe ones in PR#394.
Documentation
README.md: versions4.6.0→5.1.0-SNAPSHOT, CI/SonarCloud/CodeTriage badgesremoved (standalone-repo artefacts), issue tracker URL updated to monorepo,
docs profile name corrected (
javadoc-and-sources→docs-and-sources).Out of scope / follow-up
KotlinSerializer/KotlinConverterConverterAPIEventUpcasterDSLSingleEventUpcasterabsent from AF5.0/5.1; scheduled for 5.2