Skip to content

Commit 625a1ff

Browse files
Merge branch 'master' into bug/support-reset-context
2 parents 236c7e2 + 3513b75 commit 625a1ff

File tree

21 files changed

+112
-79
lines changed

21 files changed

+112
-79
lines changed

.github/dependabot.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ updates:
1010
labels:
1111
- "Type: Dependency Upgrade"
1212
- "Priority 1: Must"
13-
milestone: 7
13+
milestone: 8
1414
reviewers:
1515
- "AxonFramework/framework-developers"
1616
- "sandjelkovic"
@@ -30,7 +30,7 @@ updates:
3030
labels:
3131
- "Type: Dependency Upgrade"
3232
- "Priority 1: Must"
33-
milestone: 7
33+
milestone: 8
3434
reviewers:
3535
- "AxonFramework/framework-developers"
3636
- "sandjelkovic"

.github/workflows/dependabot-automation.yml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,19 @@ jobs:
2424
PR_URL: ${{github.event.pull_request.html_url}}
2525
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
2626

27-
dependabot-auto-merge:
28-
runs-on: ubuntu-latest
29-
if: ${{ github.actor == 'dependabot[bot]' }}
30-
steps:
31-
- name: Retrieve Dependabot metadata
32-
id: metadata
33-
uses: dependabot/fetch-metadata@v2
34-
with:
35-
github-token: "${{ secrets.GITHUB_TOKEN }}"
36-
37-
- name: Auto-merge Pull Request
38-
if: ${{steps.metadata.outputs.update-type != 'version-update:semver-major'}}
39-
run: gh pr merge --auto --merge "$PR_URL"
40-
env:
41-
PR_URL: ${{github.event.pull_request.html_url}}
42-
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
27+
# dependabot-auto-merge:
28+
# runs-on: ubuntu-latest
29+
# if: ${{ github.actor == 'dependabot[bot]' }}
30+
# steps:
31+
# - name: Retrieve Dependabot metadata
32+
# id: metadata
33+
# uses: dependabot/fetch-metadata@v2
34+
# with:
35+
# github-token: "${{ secrets.GITHUB_TOKEN }}"
36+
#
37+
# - name: Auto-merge Pull Request
38+
# if: ${{steps.metadata.outputs.update-type != 'version-update:semver-major'}}
39+
# run: gh pr merge --auto --merge "$PR_URL"
40+
# env:
41+
# PR_URL: ${{github.event.pull_request.html_url}}
42+
# GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

.github/workflows/main.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
uses: actions/checkout@v4
3131

3232
- name: Set up JDK ${{ matrix.java-version }}
33-
uses: actions/setup-java@v4.2.1
33+
uses: actions/setup-java@v4.6.0
3434
with:
3535
distribution: 'zulu'
3636
java-version: ${{ matrix.java-version }}
@@ -73,7 +73,7 @@ jobs:
7373
if: success()
7474
env:
7575
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
76-
uses: voxmedia/github-action-slack-notify-build@v1.6.0
76+
uses: voxmedia/github-action-slack-notify-build@v2
7777
with:
7878
channel_id: CAGSEC92A
7979
status: SUCCESS
@@ -83,7 +83,7 @@ jobs:
8383
if: failure()
8484
env:
8585
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
86-
uses: voxmedia/github-action-slack-notify-build@v1.6.0
86+
uses: voxmedia/github-action-slack-notify-build@v2
8787
with:
8888
channel_id: CAGSEC92A
8989
status: FAILED

.github/workflows/pullrequest.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
uses: actions/checkout@v4
2424

2525
- name: Set up JDK ${{ matrix.java-version }}
26-
uses: actions/setup-java@v4.2.1
26+
uses: actions/setup-java@v4.6.0
2727
with:
2828
distribution: 'zulu'
2929
java-version: ${{ matrix.java-version }}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ Are you having trouble using the extension?
6767
We'd like to help you out the best we can!
6868
There are a couple of things to consider when you're traversing anything Axon:
6969

70-
* Checking the [reference guide](https://library.axoniq.io/axon_framework_ref/) should be your first stop,
70+
* Checking the [reference guide](https://library.axoniq.io/axon-framework-reference/) should be your first stop,
7171
as the majority of possible scenarios you might encounter when using Axon should be covered there.
7272
* If the Reference Guide does not cover a specific topic you would've expected,
7373
we'd appreciate if you could post a [new thread/topic on our library fourms describing the problem](https://discuss.axoniq.io/c/26).

coverage-report/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!--
3-
~ Copyright (c) 2010-2023. Axon Framework
3+
~ Copyright (c) 2010-2024. Axon Framework
44
~
55
~ Licensed under the Apache License, Version 2.0 (the "License");
66
~ you may not use this file except in compliance with the License.
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>org.axonframework.extensions.kotlin</groupId>
2323
<artifactId>axon-kotlin-parent</artifactId>
24-
<version>4.9.1-SNAPSHOT</version>
24+
<version>4.11.0-SNAPSHOT</version>
2525
</parent>
2626

2727
<artifactId>axon-coverage-report</artifactId>

docs/README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Documentation For Axon Framework - Kotlin Extension.
2+
3+
This folder contains the docs related to the Kotlin Extension for Axon Framework. The docs in this folder are written as part of the [AxonIQ Library](https://library.axoniq.io), and are [written in Ascii and built with Antora.](https://library.axoniq.io/contibution-guide/overview/platform.html)
4+
5+
The following are the current documentation sources (folders):
6+
7+
- `extension-guide` : [The Kotlin Extension Guide](https://library.axoniq.io/kotlin-extension-reference/index.html)
8+
9+
## Contributing to the docs.
10+
11+
You are welcome to contribute to these docs. Whether you want to fix a typo, or you find something missing, something that is not clear or can be improved, or even if you want to write an entire piece of docs to illustrate something that could help others to understand the use of the Bike Rental App, you are more than welcome to send a Pull Request to this GitHub repository. Just make sure you follow the guidelines explained in [AxonIQ Library Contribution Guide](https://library.axoniq.io/contibution-guide/index.html)
12+
13+
## Building and testing these docs locally.
14+
15+
If you want to build and explore the docs locally (because you have made changes or before contributing), you can use the Antora's build file in `docs/_playbook` folder.
16+
17+
You can check the [detailed information on how the process to build the docs works](https://library.axoniq.io/contibution-guide/overview/build.html), but in short, all you have to do is:
18+
19+
1. Make sure you have Node (a LTS version is preferred), Antora and Vale installed in your system.
20+
2. CD to the `docs/_playbook` folder.
21+
3. Run `npx antora playbook.yaml`. Antora will generate the set of static html files under `docs/_playbook/build/site`
22+
4. Move to `docs/_playbook/build/site` and execute some local http server to serve files in that directory. For example by executing `python3 -m http.server 8070`
23+
5. Open your browser and go to `http://localhost:8070`. You should be able to navigate the local version of the docs.

docs/_playbook/playbook.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
site:
22
title: Kotlin Extension docs PREVIEW
3-
start_page: kotlin_extension_guide::index.adoc
3+
start_page: kotlin-extension-reference::index.adoc
44

55
content:
66
sources:

docs/extension-guide/antora.yml

Lines changed: 0 additions & 14 deletions
This file was deleted.

docs/extension-guide/modules/nav.adoc

Lines changed: 0 additions & 4 deletions
This file was deleted.

docs/reference/antora.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: kotlin-extension-reference
2+
title: Kotlin Extension Reference
3+
version:
4+
axon-kotlin-(?<version>+({0..9}).+({0..9})).*: $<version>
5+
master: development
6+
prerelease: true
7+
start_page: ROOT:index.adoc
8+
9+
asciidoc:
10+
attributes:
11+
component_description: Extension enhancing the development experience when using Kotlin
12+
type: extension-reference
13+
group: axon-framework
14+
15+
nav:
16+
- modules/nav.adoc

docs/extension-guide/modules/ROOT/pages/commands.adoc renamed to docs/reference/modules/ROOT/pages/commands.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
:navtitle: Commands
22
= Commands
33

4-
This section describes the additional functionality attached to Axon's xref:axon_framework_ref:axon-framework-commands:README.adoc[command dispatching and handling] logic.
4+
This section describes the additional functionality attached to Axon's xref:axon-framework-reference:axon-framework-commands:index.adoc[command dispatching and handling] logic.
55

66
[[commandgateway]]
77
== `CommandGateway`

docs/extension-guide/modules/ROOT/pages/events.adoc renamed to docs/reference/modules/ROOT/pages/events.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
:navtitle: Events
22
= Events
33

4-
This section describes the additional functionality attached to Axon's xref:axon_framework_ref:events:README.adoc[event publication and handling] logic.
4+
This section describes the additional functionality attached to Axon's xref:axon-framework-reference:events:index.adoc[event publication and handling] logic.
55

66
== Event upcasters
77

8-
A simplified implementation of the xref:axon_framework_ref:events:event-versioning.adoc#event-upcasting[Single Event Upcaster] is given, which allows for a shorter implementation cycle. Making an upcaster to upcast the `CardIssuedEvent` from revision `0` to `1` can be written as follows:
8+
A simplified implementation of the xref:axon-framework-reference:events:event-versioning.adoc#event-upcasting[Single Event Upcaster] is given, which allows for a shorter implementation cycle. Making an upcaster to upcast the `CardIssuedEvent` from revision `0` to `1` can be written as follows:
99

1010
[source,kotlin]
1111
----

docs/extension-guide/modules/ROOT/pages/queries.adoc renamed to docs/reference/modules/ROOT/pages/queries.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
:navtitle: Queries
22
= Queries
33

4-
This section describes the additional functionality attached to Axon's xref:axon_framework_ref:queries:README.adoc[query dispatching and handling] logic.
4+
This section describes the additional functionality attached to Axon's xref:axon-framework-reference:queries:index.adoc[query dispatching and handling] logic.
55

66
[[querygateway]]
77
== `QueryGateway`
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
= Release Notes Kotlin Extension
2+
:navtitle: Release notes
3+
4+
You can find the release notes for the Kotlin Extension of version 4.10.0 below.
5+
For earlier releases, please go to the link:https://legacydocs.axoniq.io/reference-guide/release-notes/rn-extensions/rn-kotlin[legacy documentation].
6+
7+
== Release 4.10
8+
9+
. Upgrades the Kotlin Extension to be compatible with Axon Framework 4.10.0
10+
. Adds a serializer with `kotlin.serialization` support
11+
12+
See the link:https://github.com/AxonFramework/extension-kotlin/releases/tag/axon-kotlin-4.10.0[GitHub release notes] for an exhaustive list of all changes.

docs/reference/modules/nav.adoc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
* xref:ROOT:commands.adoc[]
2+
* xref:ROOT:events.adoc[]
3+
* xref:ROOT:queries.adoc[]
4+
* xref:ROOT:release-notes.adoc[]

kotlin-test/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!--
3-
~ Copyright (c) 2010-2023. Axon Framework
3+
~ Copyright (c) 2010-2024. Axon Framework
44
~
55
~ Licensed under the Apache License, Version 2.0 (the "License");
66
~ you may not use this file except in compliance with the License.
@@ -24,7 +24,7 @@
2424
<parent>
2525
<artifactId>axon-kotlin-parent</artifactId>
2626
<groupId>org.axonframework.extensions.kotlin</groupId>
27-
<version>4.9.1-SNAPSHOT</version>
27+
<version>4.11.0-SNAPSHOT</version>
2828
</parent>
2929

3030
<artifactId>axon-kotlin-test</artifactId>
@@ -42,7 +42,7 @@
4242
<dependency>
4343
<groupId>org.hamcrest</groupId>
4444
<artifactId>hamcrest-core</artifactId>
45-
<version>2.2</version>
45+
<version>3.0</version>
4646
<scope>test</scope>
4747
</dependency>
4848
</dependencies>

kotlin/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!--
3-
~ Copyright (c) 2010-2023. Axon Framework
3+
~ Copyright (c) 2010-2024. Axon Framework
44
~
55
~ Licensed under the Apache License, Version 2.0 (the "License");
66
~ you may not use this file except in compliance with the License.
@@ -24,7 +24,7 @@
2424
<parent>
2525
<groupId>org.axonframework.extensions.kotlin</groupId>
2626
<artifactId>axon-kotlin-parent</artifactId>
27-
<version>4.9.1-SNAPSHOT</version>
27+
<version>4.11.0-SNAPSHOT</version>
2828
</parent>
2929

3030
<artifactId>axon-kotlin</artifactId>
@@ -42,7 +42,7 @@
4242
<dependency>
4343
<groupId>io.projectreactor</groupId>
4444
<artifactId>reactor-core</artifactId>
45-
<version>3.6.8</version>
45+
<version>3.7.1</version>
4646
<scope>test</scope>
4747
</dependency>
4848
</dependencies>

kotlin/src/main/kotlin/org/axonframework/extensions/kotlin/serialization/KotlinSerializer.kt

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,31 +15,27 @@
1515
*/
1616
package org.axonframework.extensions.kotlin.serialization
1717

18-
import kotlinx.serialization.BinaryFormat
19-
import kotlinx.serialization.KSerializer
20-
import kotlinx.serialization.SerialFormat
18+
import kotlinx.serialization.*
2119
import kotlinx.serialization.SerializationException
22-
import kotlinx.serialization.StringFormat
2320
import kotlinx.serialization.builtins.ArraySerializer
2421
import kotlinx.serialization.builtins.ListSerializer
2522
import kotlinx.serialization.builtins.SetSerializer
2623
import kotlinx.serialization.builtins.serializer
27-
import kotlinx.serialization.serializer
28-
import org.axonframework.serialization.AnnotationRevisionResolver
29-
import org.axonframework.serialization.ChainingConverter
30-
import org.axonframework.serialization.Converter
31-
import org.axonframework.serialization.RevisionResolver
32-
import org.axonframework.serialization.SerializedObject
33-
import org.axonframework.serialization.SerializedType
24+
import org.axonframework.serialization.*
3425
import org.axonframework.serialization.Serializer
35-
import org.axonframework.serialization.SimpleSerializedObject
36-
import org.axonframework.serialization.SimpleSerializedType
37-
import org.axonframework.serialization.UnknownSerializedType
3826
import java.util.concurrent.ConcurrentHashMap
3927
import org.axonframework.serialization.SerializationException as AxonSerializationException
4028

4129
/**
42-
* Implementation of Axon Serializer that uses a kotlinx.serialization implementation.
30+
* Implementation of Axon [Serializer] that uses a [kotlinx.serialization] implementation.
31+
*
32+
* When instantiating the [KotlinSerializer], use the [AxonSerializersModule] to insert serializers for all common
33+
* Axon Framework components.
34+
* When the desired serialization format is JSON, the construction of the serializer would look as follows:
35+
* `KotlinSerializer(serialFormat = Json { serializersModule = AxonSerializersModule })`
36+
*
37+
* Other construction parameters of the [KotlinSerializer] are the [RevisionResolver]
38+
* (defaulted to a [AnnotationRevisionResolver]) and [Converter] (defaulted to a [ChainingConverter]).
4339
*
4440
* @see kotlinx.serialization.Serializer
4541
* @see org.axonframework.serialization.Serializer

pom.xml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
<name>Axon Framework - Kotlin Extension</name>
2121
<description>Extension for Axon Framework that provides Kotlin utilities.</description>
2222

23-
<groupId>org.axonframework.extensions.kotlin</groupId>
24-
<artifactId>axon-kotlin-parent</artifactId>
25-
<version>4.9.1-SNAPSHOT</version>
26-
<packaging>pom</packaging>
23+
<groupId>org.axonframework.extensions.kotlin</groupId>
24+
<artifactId>axon-kotlin-parent</artifactId>
25+
<version>4.11.0-SNAPSHOT</version>
26+
<packaging>pom</packaging>
2727

2828
<modules>
2929
<module>kotlin</module>
@@ -54,13 +54,13 @@
5454
${project.basedir}/../coverage-report/target/site/jacoco-aggregate/jacoco.xml
5555
</sonar.coverage.jacoco.xmlReportPaths>
5656
<!-- Main -->
57-
<axon.version>4.9.0</axon.version>
57+
<axon.version>4.10.0</axon.version>
5858
<kotlin.version>1.9.24</kotlin.version>
5959
<!-- Serialization -->
6060
<jackson-kotlin.version>2.17.1</jackson-kotlin.version>
6161
<kotlin-serialization.version>1.6.3</kotlin-serialization.version>
6262
<!-- Logging -->
63-
<slf4j.version>2.0.13</slf4j.version>
63+
<slf4j.version>2.0.16</slf4j.version>
6464
<log4j.version>2.13.3</log4j.version>
6565
<!-- Testing -->
6666
<junit.jupiter.version>5.10.1</junit.jupiter.version>
@@ -71,15 +71,15 @@
7171
<maven-assembly.version>3.7.1</maven-assembly.version>
7272
<maven-clean.version>3.4.0</maven-clean.version>
7373
<maven-compiler.version>3.13.0</maven-compiler.version>
74-
<maven-deploy.version>3.1.2</maven-deploy.version>
74+
<maven-deploy.version>3.1.3</maven-deploy.version>
7575
<maven-enforcer.version>3.5.0</maven-enforcer.version>
76-
<maven-gpg.version>3.2.4</maven-gpg.version>
77-
<maven-install.version>3.1.2</maven-install.version>
76+
<maven-gpg.version>3.2.7</maven-gpg.version>
77+
<maven-install.version>3.1.3</maven-install.version>
7878
<maven-jar.version>3.4.2</maven-jar.version>
7979
<maven-javadoc.version>3.5.0</maven-javadoc.version>
8080
<maven-release.version>3.1.1</maven-release.version>
8181
<maven-source.version>3.3.1</maven-source.version>
82-
<maven-surefire.version>3.3.1</maven-surefire.version>
82+
<maven-surefire.version>3.5.2</maven-surefire.version>
8383
<maven-resources.version>3.3.1</maven-resources.version>
8484
<!--
8585
Deactivate dokka by default, and make the build faster for all projects.

0 commit comments

Comments
 (0)