Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
929 commits
Select commit Hold shift + click to select a range
4ad022b
Merge pull request #324 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Dec 31, 2023
a9c848f
Bump the maven-dependencies group with 3 updates
dependabot[bot] Jan 14, 2024
db24ef2
Merge pull request #325 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jan 14, 2024
5889e6b
Bump the maven-dependencies group with 1 update
dependabot[bot] Feb 11, 2024
39411df
Merge pull request #326 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Feb 11, 2024
0873cdb
Bump the github-dependencies group with 1 update
dependabot[bot] Mar 3, 2024
df18558
Merge pull request #327 from AxonFramework/dependabot/github_actions/…
github-actions[bot] Mar 3, 2024
e79365b
Bump the github-dependencies group with 1 update
dependabot[bot] Mar 17, 2024
2afbff3
Merge pull request #328 from AxonFramework/dependabot/github_actions/…
github-actions[bot] Mar 17, 2024
f8349da
Bump the maven-dependencies group with 3 updates
dependabot[bot] Mar 17, 2024
86c20ca
Merge pull request #329 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Mar 17, 2024
ba94907
Bump the github-dependencies group with 1 update
dependabot[bot] Mar 24, 2024
06770f9
Bump the maven-dependencies group with 3 updates
dependabot[bot] Mar 24, 2024
d671e53
Merge pull request #331 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Mar 24, 2024
05f418f
Merge pull request #330 from AxonFramework/dependabot/github_actions/…
smcvb Mar 25, 2024
a5b8ce4
Update Maven Wrapper by running wrapper goal
smcvb Mar 25, 2024
ca7df71
Bump the maven-dependencies group with 1 update
dependabot[bot] Mar 31, 2024
5396519
Merge pull request #332 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Mar 31, 2024
8072a73
Bump org.apache.maven.plugins:maven-source-plugin
dependabot[bot] Apr 7, 2024
df662bb
Merge pull request #333 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Apr 7, 2024
4620b1a
Bump the maven-dependencies group with 4 updates
dependabot[bot] Apr 14, 2024
4bdcbc7
Merge pull request #334 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Apr 14, 2024
dab65a6
Bump the maven-dependencies group with 2 updates
dependabot[bot] Apr 21, 2024
e2989f1
Merge pull request #335 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Apr 21, 2024
10bede4
Bump the maven-dependencies group with 2 updates
dependabot[bot] May 5, 2024
7cae543
Merge pull request #336 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] May 5, 2024
d1e7f06
Bump io.projectreactor:reactor-core in the maven-dependencies group
dependabot[bot] May 19, 2024
2cb1941
Merge pull request #337 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] May 19, 2024
feee8ea
Bump org.apache.maven.plugins:maven-enforcer-plugin
dependabot[bot] Jun 2, 2024
e68bd74
Merge pull request #339 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jun 2, 2024
0698ced
Add kotlin.serialization implementation of Serializer
lion7 May 28, 2024
9baf049
Add tests for more formats
lion7 May 29, 2024
8cdd263
revert accidental change
lion7 May 29, 2024
afe79b0
fix JDK 8 and JDK 11 compatibility
lion7 May 29, 2024
bfab727
Add copyright
lion7 May 29, 2024
ed84dc9
Bump the maven-dependencies group with 6 updates
dependabot[bot] Jun 16, 2024
54573e5
Merge pull request #340 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jun 16, 2024
0db6537
Bump the maven-dependencies group with 3 updates
dependabot[bot] Jun 23, 2024
8d4f16e
Merge pull request #341 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jun 23, 2024
97fdfe3
Bump the maven-dependencies group with 4 updates
dependabot[bot] Jun 30, 2024
d434cfd
Merge pull request #342 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jun 30, 2024
37a1e5b
Created folder structure for antora docs
dgomezg Jul 3, 2024
5706aad
Moved Kotlin Extendions doc contents from old ref guide to antora
dgomezg Jul 3, 2024
66f03d3
Updated Readme.md with links to library instead of docs.axoniq.io
dgomezg Jul 3, 2024
dc31a3f
Merge pull request #343 from AxonFramework/move_old_docs_to_library
dgomezg Jul 3, 2024
e085b45
Renamed internal docs id for the extension guide
dgomezg Jul 4, 2024
5be5813
Renamed extension-guide docs folder
dgomezg Jul 4, 2024
112fec3
Bump the maven-dependencies group with 2 updates
dependabot[bot] Jul 14, 2024
64bf97d
Merge pull request #344 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jul 14, 2024
d4c40f6
Added github action to trigger doc build
dgomezg Jul 18, 2024
7855a04
Updated reference to AF reference Guide
dgomezg Jul 19, 2024
1ed1b6f
Bump org.apache.maven.plugins:maven-release-plugin
dependabot[bot] Jul 21, 2024
9984e63
Merge pull request #345 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jul 21, 2024
f15d94a
Set since tag
smcvb Jul 17, 2024
179a790
Revert Kotlin Serialization to 1.6.3 for backwards compatibility
smcvb Jul 23, 2024
187c3de
Move ArrayResponseType to message/responsetypes
smcvb Jul 23, 2024
4e9062b
Expand KDoc with construction example
smcvb Jul 23, 2024
043ffac
Upgrade Axon Framework to 4.10.0
smcvb Jul 23, 2024
7005f32
Merge pull request #346 from AxonFramework/dependency-upgrade/af-4.10
smcvb Jul 23, 2024
e8c8a0f
Set version to 4.10.0 for release
smcvb Jul 23, 2024
2c785f1
[maven-release-plugin] prepare release axon-kotlin-4.10.0
smcvb Jul 26, 2024
2766c85
[maven-release-plugin] prepare for next development iteration
smcvb Jul 26, 2024
2cd21fc
Set milestone to 4.11.0
smcvb Jul 26, 2024
f0a5e0c
Update version of non-deployed modules
smcvb Jul 26, 2024
acc15a5
Bump the maven-dependencies group with 4 updates
dependabot[bot] Jul 26, 2024
6515aba
Merge pull request #347 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jul 26, 2024
925156f
Set version to 4.11.0-SNAPSHOT for main branch
smcvb Jul 26, 2024
f66059e
Revert to 1.6.3 for backwards compatibility
smcvb Jul 26, 2024
fd717cb
Bump the maven-dependencies group with 4 updates
dependabot[bot] Jul 28, 2024
090bbfd
Merge pull request #348 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jul 28, 2024
73d576e
Disable auto merge to catch undesired dep. upgrades
smcvb Jul 29, 2024
f4a78d7
Downgrade Kotlin Serialization for backwards compatibility
smcvb Jul 29, 2024
65417c0
Added docs/README.md
dgomezg Aug 1, 2024
e85d4cf
Bump voxmedia/github-action-slack-notify-build
dependabot[bot] Aug 4, 2024
ad3687d
Merge pull request #349 from AxonFramework/dependabot/github_actions/…
smcvb Aug 5, 2024
c3cf350
Bump org.hamcrest:hamcrest-core
dependabot[bot] Aug 5, 2024
3553d14
Merge pull request #351 from AxonFramework/dependabot/maven/maven-dep…
smcvb Aug 5, 2024
4ed662b
Bump org.slf4j:slf4j-simple in the maven-dependencies group
dependabot[bot] Aug 11, 2024
e6ab3de
Bump actions/setup-java in the github-dependencies group
dependabot[bot] Aug 11, 2024
3664d72
Merge pull request #352 from AxonFramework/dependabot/maven/maven-dep…
smcvb Aug 12, 2024
044eb0c
Merge pull request #353 from AxonFramework/dependabot/github_actions/…
smcvb Aug 12, 2024
37ce15f
Bump the maven-dependencies group with 3 updates
dependabot[bot] Aug 18, 2024
7ec5f4f
Merge pull request #354 from AxonFramework/dependabot/maven/maven-dep…
smcvb Aug 19, 2024
f21bde5
Bump the maven-dependencies group with 2 updates
dependabot[bot] Aug 25, 2024
73a2543
Merge pull request #355 from AxonFramework/dependabot/maven/maven-dep…
smcvb Aug 26, 2024
d968451
Bump org.apache.maven.plugins:maven-surefire-plugin
dependabot[bot] Sep 1, 2024
f4fd734
Merge pull request #356 from AxonFramework/dependabot/maven/maven-dep…
smcvb Sep 2, 2024
0c867bc
Bump actions/setup-java in the github-dependencies group
dependabot[bot] Sep 15, 2024
30e68b8
Bump the maven-dependencies group with 2 updates
dependabot[bot] Sep 15, 2024
030dea1
Merge pull request #357 from AxonFramework/dependabot/github_actions/…
smcvb Sep 16, 2024
618758d
Merge pull request #358 from AxonFramework/dependabot/maven/maven-dep…
smcvb Sep 16, 2024
ae0077c
Bump org.apache.maven.plugins:maven-gpg-plugin
dependabot[bot] Sep 29, 2024
f0ab8e9
Bump actions/setup-java in the github-dependencies group
dependabot[bot] Sep 29, 2024
96d0193
Merge pull request #359 from AxonFramework/dependabot/maven/maven-dep…
smcvb Sep 30, 2024
9f6e7fd
Merge pull request #360 from AxonFramework/dependabot/github_actions/…
smcvb Sep 30, 2024
fbf6e54
Remove underscore from link
smcvb Oct 2, 2024
93b4171
Remove underscore from link
smcvb Oct 2, 2024
c2e3744
MULTI-REPO_COMMIT: Move all extension reference guides to their desig…
CodeDrivenMitch Oct 3, 2024
ebbfcab
Fix dead links over all documentation repositories
CodeDrivenMitch Oct 3, 2024
9d83963
Bump org.apache.maven.plugins:maven-surefire-plugin
dependabot[bot] Oct 6, 2024
0edfe12
Merge pull request #361 from AxonFramework/dependabot/maven/maven-dep…
smcvb Oct 7, 2024
b110af4
MULTI-REPO_COMMIT: Move all extension reference guides to their desig…
CodeDrivenMitch Oct 3, 2024
86a1e09
Fix dead links over all documentation repositories
CodeDrivenMitch Oct 3, 2024
1ba46dc
Add versioning, add release notes
CodeDrivenMitch Oct 8, 2024
ec539b5
Add versioning, add release notes
CodeDrivenMitch Oct 8, 2024
aa909da
Unmark kotlin 4.10 as prerelease
CodeDrivenMitch Oct 8, 2024
dbe1c42
Fix navigation
CodeDrivenMitch Oct 8, 2024
b87d001
Merge branch 'axon-kotlin-4.10.x'
CodeDrivenMitch Oct 8, 2024
c73ce7c
Bump io.projectreactor:reactor-core in the maven-dependencies group
dependabot[bot] Oct 20, 2024
2983d19
Merge pull request #362 from AxonFramework/dependabot/maven/maven-dep…
smcvb Oct 21, 2024
3372696
Bump actions/setup-java in the github-dependencies group
dependabot[bot] Oct 27, 2024
c068ca5
Merge pull request #363 from AxonFramework/dependabot/github_actions/…
smcvb Oct 28, 2024
cabec4a
Bump org.apache.maven.plugins:maven-surefire-plugin
dependabot[bot] Nov 3, 2024
882b6b1
Merge pull request #364 from AxonFramework/dependabot/maven/maven-dep…
smcvb Nov 4, 2024
f6e6f8b
Bump io.projectreactor:reactor-core in the maven-dependencies group
dependabot[bot] Nov 17, 2024
732c13d
Merge pull request #365 from AxonFramework/dependabot/maven/maven-dep…
smcvb Nov 18, 2024
88911b9
Bump io.projectreactor:reactor-core in the maven-dependencies group
dependabot[bot] Dec 15, 2024
9036b65
Merge pull request #366 from AxonFramework/dependabot/maven/maven-dep…
smcvb Dec 16, 2024
5f21476
Bump actions/setup-java in the github-dependencies group
dependabot[bot] Dec 22, 2024
7d704c1
Merge pull request #367 from AxonFramework/dependabot/github_actions/…
smcvb Dec 23, 2024
ffe1668
Remove reviewer who's no longer present
smcvb Feb 4, 2025
c9bb1de
Bump actions/setup-java in the github-dependencies group
dependabot[bot] Feb 4, 2025
37e70f7
Bump io.projectreactor:reactor-core in the maven-dependencies group
dependabot[bot] Feb 4, 2025
68f5dff
Merge pull request #371 from AxonFramework/dependabot/github_actions/…
smcvb Feb 4, 2025
4f5a414
Merge branch 'master' into dependabot/maven/maven-dependencies-214f6f…
smcvb Feb 4, 2025
9d582e8
Merge pull request #369 from AxonFramework/dependabot/maven/maven-dep…
smcvb Feb 4, 2025
10088fb
Replace old reference guide link
smcvb Feb 6, 2025
2e45add
[#368] `AxonSerializer` documentation and enforce `ReplayToken.contex…
MateuszNaKodach Feb 11, 2025
e97a18a
Update Axon Framework to 4.11.0
smcvb Feb 14, 2025
a793fec
Merge pull request #372 from AxonFramework/dependency-upgrade/af-4.11.0
smcvb Feb 14, 2025
87ff616
[maven-release-plugin] prepare release axon-kotlin-4.11.0
smcvb Feb 14, 2025
66472e9
[maven-release-plugin] prepare for next development iteration
smcvb Feb 14, 2025
b8d6f27
Set milestone to 4.11.1
smcvb Feb 14, 2025
4119be4
Update version of non-deployed module
smcvb Feb 14, 2025
b845112
Add release notes for 4.11.0
smcvb Feb 14, 2025
f0b46fd
Remove pre-release flag for documention of 4.11
CodeDrivenMitch Feb 14, 2025
0a6dcd9
Set Antora to prerelease on master
CodeDrivenMitch Feb 14, 2025
e553774
Bump io.projectreactor:reactor-core in the maven-dependencies group
dependabot[bot] Feb 16, 2025
a5045b2
Merge pull request #373 from AxonFramework/dependabot/maven/maven-dep…
smcvb Feb 17, 2025
b096f80
Bump the maven-dependencies group with 2 updates
dependabot[bot] Feb 23, 2025
0a53844
Merge pull request #374 from AxonFramework/dependabot/maven/maven-dep…
smcvb Feb 24, 2025
5a1c71d
Bump the maven-dependencies group with 3 updates
dependabot[bot] Mar 2, 2025
6673d52
Merge pull request #375 from AxonFramework/dependabot/maven/maven-dep…
smcvb Mar 3, 2025
e29ca6e
Bump io.projectreactor:reactor-core in the maven-dependencies group
dependabot[bot] Mar 16, 2025
0381ff9
Merge pull request #376 from AxonFramework/dependabot/maven/maven-dep…
abuijze Mar 17, 2025
8a2ff24
Bump org.apache.maven.plugins:maven-surefire-plugin
dependabot[bot] Apr 6, 2025
c496717
Merge pull request #377 from AxonFramework/dependabot/maven/maven-dep…
smcvb Apr 7, 2025
339f841
Bump actions/setup-java in the github-dependencies group
dependabot[bot] Apr 13, 2025
070a0ef
Merge pull request #378 from AxonFramework/dependabot/github_actions/…
smcvb Apr 14, 2025
1be14d7
Bump io.projectreactor:reactor-core in the maven-dependencies group
dependabot[bot] Apr 20, 2025
92a0ab4
Merge pull request #379 from AxonFramework/dependabot/maven/maven-dep…
smcvb Apr 22, 2025
0c7ed98
[#380] fix: Kotlin MetaData serialization
MateuszNaKodach Apr 25, 2025
9009be8
[#380] fix: Kotli MetaData experiments
MateuszNaKodach Apr 25, 2025
87ad8d8
[#380] fix: Kotli MetaData experiments
MateuszNaKodach Apr 28, 2025
e9397a6
[#380] fix: add MetaDataSerializer
MateuszNaKodach Apr 28, 2025
a7f3963
[#380] fix: add MetaDataSerializer
MateuszNaKodach Apr 28, 2025
3f77a62
[#380] fix: add MetaDataSerializer
MateuszNaKodach Apr 28, 2025
01d9844
[#380] fix: add MetaDataSerializer
MateuszNaKodach Apr 28, 2025
a7f7695
[#380] fix: add MetaDataSerializer
MateuszNaKodach Apr 28, 2025
6beb506
[#380] fix: add MetaDataSerializer
MateuszNaKodach Apr 28, 2025
8918842
[#380] custom object as string?
MateuszNaKodach Apr 29, 2025
a01400b
[#380] custom object - throw exception
MateuszNaKodach Apr 29, 2025
22d1694
[#380] docs: add documentation to `MetaDataSerializer`
MateuszNaKodach Apr 29, 2025
351e334
[#380] docs: add documentation to `MetaDataSerializer`
MateuszNaKodach Apr 29, 2025
1428031
[#380] docs: add missing test case for malformed json
MateuszNaKodach Apr 29, 2025
53692eb
Merge pull request #381 from AxonFramework/fix/#380_metadata_serializer
smcvb May 5, 2025
bc5fd6a
[#380] fix: Kotlin MetaData serialization
MateuszNaKodach Apr 25, 2025
0dea30a
[#380] fix: Kotli MetaData experiments
MateuszNaKodach Apr 25, 2025
7454c93
[#380] fix: Kotli MetaData experiments
MateuszNaKodach Apr 28, 2025
6244c8f
[#380] fix: add MetaDataSerializer
MateuszNaKodach Apr 28, 2025
696436a
[#380] fix: add MetaDataSerializer
MateuszNaKodach Apr 28, 2025
57bc702
[#380] fix: add MetaDataSerializer
MateuszNaKodach Apr 28, 2025
2556c31
[#380] fix: add MetaDataSerializer
MateuszNaKodach Apr 28, 2025
acb5e64
[#380] fix: add MetaDataSerializer
MateuszNaKodach Apr 28, 2025
1b17dd1
[#380] fix: add MetaDataSerializer
MateuszNaKodach Apr 28, 2025
0c09b2f
[#380] custom object as string?
MateuszNaKodach Apr 29, 2025
9482f4f
[#380] custom object - throw exception
MateuszNaKodach Apr 29, 2025
11ec676
[#380] docs: add documentation to `MetaDataSerializer`
MateuszNaKodach Apr 29, 2025
532abba
[#380] docs: add documentation to `MetaDataSerializer`
MateuszNaKodach Apr 29, 2025
d09d308
[#380] docs: add missing test case for malformed json
MateuszNaKodach Apr 29, 2025
2126058
[maven-release-plugin] prepare release axon-kotlin-4.11.1
smcvb May 5, 2025
88c6e9b
[maven-release-plugin] prepare for next development iteration
smcvb May 5, 2025
4fd6ea5
Update milestone to 4.11.2
MateuszNaKodach Apr 28, 2025
3d42c39
Enable auto-merge for dependabot
smcvb May 5, 2025
44fd355
Update version of undeployed module
smcvb May 5, 2025
837fee6
Merge branch 'axon-kotlin-4.11.x'
smcvb May 5, 2025
cd3f9d3
[#380] refactor: add dedicated `JsonMetaDataSerializer`
MateuszNaKodach May 7, 2025
0887e5c
Merge pull request #382 from AxonFramework/fix/#380_metadata_serializ…
smcvb May 9, 2025
06e307a
[#380] refactor: add dedicated `JsonMetaDataSerializer`
MateuszNaKodach May 7, 2025
ab276cd
build(deps-dev): bump io.projectreactor:reactor-core
dependabot[bot] May 18, 2025
dfa1e6c
Merge pull request #383 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] May 18, 2025
c638bde
Replace reviewers for CODEOWNERS
smcvb May 26, 2025
10c5395
Replace Gerard and Stefan for Mateusz
smcvb May 26, 2025
5a442bb
Drop unused ossrh profile
smcvb May 26, 2025
8a4f33a
Adjust deploy and publish process
smcvb May 26, 2025
6bdaf79
Merge branch 'axon-kotlin-4.11.x'
smcvb May 26, 2025
a4ade80
build(deps): bump the maven-dependencies group with 12 updates
dependabot[bot] May 26, 2025
30b6113
Set server identifier to central
smcvb May 27, 2025
41f210e
Merge branch 'axon-kotlin-4.11.x'
smcvb May 27, 2025
5ebb719
Merge branch 'master' into dependabot/maven/maven-dependencies-1b4696…
smcvb May 27, 2025
9bf3e6a
Replace JUnit jupiter for BOM
smcvb May 27, 2025
b402cef
Merge pull request #384 from AxonFramework/dependabot/maven/maven-dep…
smcvb May 27, 2025
9a30f6d
build(deps): bump the maven-dependencies group with 2 updates
dependabot[bot] Jun 1, 2025
4db3850
Merge pull request #385 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jun 1, 2025
b3a619c
build(deps): bump org.junit:junit-bom in the maven-dependencies group
dependabot[bot] Jun 8, 2025
c1dbd8c
Merge pull request #386 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jun 8, 2025
57ebd07
build(deps): bump the maven-dependencies group with 2 updates
dependabot[bot] Jun 15, 2025
825e5fe
Merge pull request #387 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jun 15, 2025
aca438d
build(deps): bump org.sonatype.central:central-publishing-maven-plugin
dependabot[bot] Jun 22, 2025
70a8eea
Merge pull request #388 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jun 22, 2025
edc0215
build(deps): bump the maven-dependencies group with 7 updates
dependabot[bot] Jun 29, 2025
e12f0f3
Merge pull request #389 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jun 29, 2025
cf48cf3
build(deps): bump the maven-dependencies group with 3 updates
dependabot[bot] Jul 6, 2025
d2c4fcb
Merge pull request #390 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jul 6, 2025
b6f244f
build(deps): bump the maven-dependencies group with 3 updates
dependabot[bot] Jul 20, 2025
9e4b172
Merge pull request #391 from AxonFramework/dependabot/maven/maven-dep…
github-actions[bot] Jul 20, 2025
d600f4b
Upgrade AF to 4.12.0
smcvb Jul 25, 2025
0a08d87
Merge pull request #392 from AxonFramework/dependency-upgrade/axon-4.12
smcvb Jul 25, 2025
bce0885
[maven-release-plugin] prepare release axon-kotlin-4.12.0
smcvb Jul 25, 2025
761f729
[maven-release-plugin] prepare for next development iteration
smcvb Jul 25, 2025
815250d
Update version of non-deployed module
smcvb Jul 25, 2025
422bea9
Drop dependabot.yml to no longer react to non-security updates
smcvb Jul 25, 2025
4cc7931
Add release notes 4.11.1
smcvb Jul 28, 2025
43760df
Merge branch 'axon-kotlin-4.11.x' into axon-kotlin-4.12.x
smcvb Jul 28, 2025
b35df93
Add release notes 4.12
smcvb Jul 28, 2025
c491572
Correct the version
smcvb Jul 28, 2025
79e1676
Fix documentation
smcvb Jul 28, 2025
afd31fe
Fix documentation further
smcvb Jul 28, 2025
b2cee35
Fix docs yet again
smcvb Jul 28, 2025
7e8afa7
Fix docs further
smcvb Jul 28, 2025
528d2f2
Merge branch 'axon-kotlin-4.10.x' into axon-kotlin-4.11.x
smcvb Jul 28, 2025
91e0e94
Merge branch 'axon-kotlin-4.11.x' into axon-kotlin-4.12.x
smcvb Jul 28, 2025
5a40696
Merge branch 'axon-kotlin-4.12.x'
smcvb Jul 28, 2025
def9442
Drop contributors to see if that solves the problem
smcvb Jul 28, 2025
43c2f37
Merge branch 'axon-kotlin-4.11.x' into axon-kotlin-4.12.x
smcvb Jul 28, 2025
224cd43
Drop contributors to see if that solves the problem
smcvb Jul 28, 2025
d88a856
Merge branch 'axon-kotlin-4.12.x'
smcvb Jul 28, 2025
8d4ff28
Return contributors
smcvb Jul 28, 2025
bd0881a
Drop FQCN reference for MetaData to satisfy the docs...
smcvb Jul 28, 2025
2b37aa9
Merge branch 'axon-kotlin-4.11.x' into axon-kotlin-4.12.x
smcvb Jul 28, 2025
cb4b00c
Return the contributors
smcvb Jul 28, 2025
87ad269
Drop FQCN reference for MetaData to satisfy the docs...
smcvb Jul 28, 2025
18f5211
Merge branch 'axon-kotlin-4.12.x'
smcvb Jul 28, 2025
69dc268
Drop exclamation marks
smcvb Jul 28, 2025
b919439
Merge branch 'axon-kotlin-4.11.x' into axon-kotlin-4.12.x
smcvb Jul 28, 2025
8a55f24
Drop exclamation marks
smcvb Jul 28, 2025
9022201
Merge branch 'axon-kotlin-4.12.x'
smcvb Jul 28, 2025
a4bd6d7
Merge remote-tracking branch 'target/main' into feature/import-kotlin…
jangalinski Nov 7, 2025
07d5aec
move all classes that are not applicable for 5.0 to _todo
jangalinski Nov 7, 2025
4ec8cff
Merge branch 'main' into feature/introduce-kotlin-extension
jangalinski Nov 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 109 additions & 0 deletions extensions/kotlin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# Axon Framework - Kotlin Extension
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.axonframework.extensions.kotlin/axon-kotlin/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.axonframework.extensions.kotlin/axon-kotlin)
![Build Status](https://github.com/AxonFramework/extension-kotlin/workflows/Kotlin%20Extension/badge.svg?branch=master)
[![SonarCloud Status](https://sonarcloud.io/api/project_badges/measure?project=AxonFramework_extension-kotlin&metric=alert_status)](https://sonarcloud.io/dashboard?id=AxonFramework_extension-kotlin)
[![Open Source Helpers](https://www.codetriage.com/axonframework/extension-kotlin/badges/users.svg)](https://www.codetriage.com/axonframework/extension-kotlin)

_Note:_ This extension is still in an experimental stage.

Axon Framework is a framework for building evolutionary, event-driven microservice systems,
based on the principles of Domain Driven Design, Command-Query Responsibility Segregation (CQRS) and Event Sourcing.

As such it provides you the necessary building blocks to follow these principles.
Building blocks like Aggregate factories and Repositories, Command, Event and Query Buses and an Event Store.
The framework provides sensible defaults for all of these components out of the box.

This set up helps you create a well-structured application without having to bother with the infrastructure.
The main focus can thus become your business functionality.

This repository provides an extension to the Axon Framework: Kotlin. It provides functionality to leverage Kotlin features to be used with Axon Framework.

For more information on anything Axon, please visit our website, [http://axoniq.io](http://axoniq.io).

## Getting started

### Dependencies

For the Kotlin extension itself you can get the version from the [axon-bom](https://github.com/AxonFramework/axon-bom) or use the following coordinates:

**Maven**

```
<dependency>
<groupId>org.axonframework.extensions.kotlin</groupId>
<artifactId>axon-kotlin</artifactId>
<version>4.6.0</version>
</dependency>
```

**Gradle**

```
implementation("org.axonframework.extensions.kotlin:axon-kotlin:4.6.0")
```

For the Kotlin testing extension itself please use the following coordinates:

**Maven**

```
<dependency>
<groupId>org.axonframework.extensions.kotlin</groupId>
<artifactId>axon-kotlin-test</artifactId>
<version>4.6.0</version>
</dependency>
```

**Gradle**

```
implementation("org.axonframework.extensions.kotlin:axon-kotlin-test:4.6.0")
```


## Receiving help

Are you having trouble using the extension?
We'd like to help you out the best we can!
There are a couple of things to consider when you're traversing anything Axon:

* Checking the [documentation](https://docs.axoniq.io/home/) should be your first stop,
as the majority of possible scenarios you might encounter when using Axon should be covered there.
* If the Reference Guide does not cover a specific topic you would've expected,
we'd appreciate if you could post a [new thread/topic on our library fourms describing the problem](https://discuss.axoniq.io/c/26).
* There is a [forum](https://discuss.axoniq.io/) to support you in the case the reference guide did not sufficiently answer your question.
Axon Framework and Server developers will help out on a best effort basis.
Know that any support from contributors on posted question is very much appreciated on the forum.
* Next to the forum we also monitor Stack Overflow for any questions which are tagged with `axon`.

## Feature requests and issue reporting

We use GitHub's [issue tracking system](https://github.com/AxonFramework/extension-kotlin/issues) for new feature
request, extension enhancements and bugs.
Prior to filing an issue, please verify that it's not already reported by someone else.

When filing bugs:
* A description of your setup and what's happening helps us figuring out what the issue might be
* Do not forget to provide the version you're using
* If possible, share a stack trace, using the Markdown semantic ```

When filing features:
* A description of the envisioned addition or enhancement should be provided
* (Pseudo-)Code snippets showing what it might look like help us understand your suggestion better
* If you have any thoughts on where to plug this into the framework, that would be very helpful too
* Lastly, we value contributions to the framework highly. So please provide a Pull Request as well!

## Building the extension

If you want to build the extension locally, you need to check it out from GiHub and run the following command:

./mvnw clean install

### Producing JavaDocs and Sources archive

Please execute the following command line if you are interested in producing KDoc and Source archives:

./mvnw clean install -Pjavadoc-and-sources


---
114 changes: 114 additions & 0 deletions extensions/kotlin/_todo/ArrayResponseType.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
/*
* Copyright (c) 2010-2024. Axon Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.axonframework.extensions.kotlin.messaging.responsetypes

import org.axonframework.common.ReflectionUtils
import org.axonframework.common.TypeReflectionUtils
import org.axonframework.messaging.responsetypes.AbstractResponseType
import org.axonframework.messaging.responsetypes.InstanceResponseType
import org.axonframework.messaging.responsetypes.ResponseType
import java.lang.reflect.Type
import java.util.concurrent.Future

/**
* A [ResponseType] implementation that will match with query handlers which return a multiple instances of the
* expected response type. If matching succeeds, the [ResponseType.convert] function will be called, which
* will cast the query handler it's response to an [Array] with element type [E].
*
* @param E The element type which will be matched against and converted to
* @author Gerard de Leeuw
* @since 4.10.0
* @see org.axonframework.messaging.responsetypes.MultipleInstancesResponseType
*/
class ArrayResponseType<E>(elementType: Class<E>) : AbstractResponseType<Array<E>>(elementType) {

companion object {
/**
* Indicates that the response matches with the [Type] while returning an iterable result.
*
* @see ResponseType.MATCH
*
* @see ResponseType.NO_MATCH
*/
const val ITERABLE_MATCH = 1024
}

private val instanceResponseType: InstanceResponseType<E> = InstanceResponseType(elementType)

/**
* Match the query handler's response [Type] with this implementation's [E].
* Will return true in the following scenarios:
*
* * If the response type is an [Array]
* * If the response type is a [E]
*
* If there is no match at all, it will return false to indicate a non-match.
*
* @param responseType the response [Type] of the query handler which is matched against
* @return true for [Array] or [E] and [ResponseType.NO_MATCH] for non-matches
*/
override fun matches(responseType: Type): Boolean =
matchRank(responseType) > NO_MATCH

/**
* Match the query handler's response [Type] with this implementation's [E].
* Will return a value greater than 0 in the following scenarios:
*
* * [ITERABLE_MATCH]: If the response type is an [Array]
* * [ResponseType.MATCH]: If the response type is a [E]
*
* If there is no match at all, it will return [ResponseType.NO_MATCH] to indicate a non-match.
*
* @param responseType the response [Type] of the query handler which is matched against
* @return [ITERABLE_MATCH] for [Array], [ResponseType.MATCH] for [E] and [ResponseType.NO_MATCH] for non-matches
*/
override fun matchRank(responseType: Type): Int = when {
isMatchingArray(responseType) -> ITERABLE_MATCH
else -> instanceResponseType.matchRank(responseType)
}

/**
* Converts the given [response] of type [Object] into an [Array] with element type [E] from
* this [ResponseType] instance. Should only be called if [ResponseType.matches] returns true.
* Will throw an [IllegalArgumentException] if the given response
* is not convertible to an [Array] of the expected response type.
*
* @param response the [Object] to convert into an [Array] with element type [E]
* @return an [Array] with element type [E], based on the given [response]
*/
override fun convert(response: Any): Array<E> {
val responseType: Class<*> = response.javaClass
if (responseType.isArray) {
@Suppress("UNCHECKED_CAST")
return response as Array<E>
}
throw IllegalArgumentException(
"Retrieved response [$responseType] is not convertible to an array with the expected element type [$expectedResponseType]"
)
}

@Suppress("UNCHECKED_CAST")
override fun responseMessagePayloadType(): Class<Array<E>> =
Array::class.java as Class<Array<E>>

override fun toString(): String = "ArrayResponseType[$expectedResponseType]"

private fun isMatchingArray(responseType: Type): Boolean {
val unwrapped = ReflectionUtils.unwrapIfType(responseType, Future::class.java)
val iterableType = TypeReflectionUtils.getExactSuperType(unwrapped, Array::class.java)
return iterableType != null && isParameterizedTypeOfExpectedType(iterableType)
}
}
36 changes: 36 additions & 0 deletions extensions/kotlin/_todo/BuilderExtensions.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
* Copyright (c) 2010-2021. Axon Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.axonframework.extensions.kotlin

import org.axonframework.eventsourcing.EventSourcingRepository


/**
* Reified version of the static builder for event souring repository.
* @param T aggregate type.
* @return event sourcing repository builder for aggregate [T]
* @since 0.2.0
*/
inline fun <reified T : Any> eventSourcingRepositoryBuilder() = EventSourcingRepository(T::class.java)


/**
* Reified version of the static builder for JPA repository.
* @param T aggregate type.
* @return Generic JPA repository builder for aggregate [T]
* @since 0.2.0
*/
inline fun <reified T : Any> genericJpaRepositoryBuilder() = GenericJpaRepository.builder(T::class.java)
38 changes: 38 additions & 0 deletions extensions/kotlin/_todo/CommandGatewayExtensions.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
* Copyright (c) 2010-2021. Axon Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.axonframework.extensions.kotlin

import org.axonframework.messaging.commandhandling.CommandMessage
import org.axonframework.messaging.commandhandling.gateway.CommandGateway
import org.axonframework.messaging.core.Metadata


/**
* Callback-style [CommandGateway.send] with dedicated on-success and on-error functions
* @param command The command to send
* @param onError Callback to handle failed execution
* @param onSuccess Callback to handle successful execution
* @param R the type of result of the command handling
* @param C the type of payload of the command
* @see CommandGateway.send
* @since 0.1.0
*/
inline fun <reified C : Any, reified R : Any?> CommandGateway.send(
command: C,
noinline onSuccess: (commandMessage: CommandMessage, result: R, metadata: Metadata) -> Unit = { _, _, _ -> },
noinline onError: (commandMessage: CommandMessage, exception: Throwable, metadata: Metadata) -> Unit = { _, _, _ -> }
): Unit = this.send(command, ResultDiscriminatorCommandCallback<C, R>(onSuccess, onError))
50 changes: 50 additions & 0 deletions extensions/kotlin/_todo/EventUpcaster.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* Copyright (c) 2010-2021. Axon Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.axonframework.extensions.kotlin

import org.axonframework.serialization.SimpleSerializedType
import org.axonframework.serialization.upcasting.event.IntermediateEventRepresentation
import org.axonframework.serialization.upcasting.event.SingleEventUpcaster
import kotlin.reflect.KClass

/**
* Helpers for event upcaster.
* @since 0.1.0
*/
object EventUpcaster {
/**
* Creates a singleEventUpcaster for given type and revisions and calls [IntermediateEventRepresentation.upcastPayload] using the [converter].
*/
fun <T : Any> singleEventUpcaster(eventType: KClass<*>,
storageType: KClass<T>,
revisions: Revisions,
converter: (T) -> T): SingleEventUpcaster = object : SingleEventUpcaster() {

override fun canUpcast(ir: IntermediateEventRepresentation): Boolean = SimpleSerializedType(eventType.qualifiedName, revisions.first) == ir.type

override fun doUpcast(ir: IntermediateEventRepresentation): IntermediateEventRepresentation =
ir.upcastPayload(
SimpleSerializedType(eventType.qualifiedName, revisions.second),
storageType.java,
converter)
}
}

/**
* Tuple of oldRevision (nullable) and newRevision.
*/
typealias Revisions = Pair<String?, String>
16 changes: 16 additions & 0 deletions extensions/kotlin/_todo/META-INF/spring-devtools.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#
# Copyright (c) 2010-2023. Axon Framework
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
restart.include.axon-kotlin=axon-kotlin-${project.version}.jar
Loading