Skip to content

Commit 0f691e3

Browse files
Fix kotlinx serde API usage
1 parent ea64e50 commit 0f691e3

File tree

43 files changed

+98
-75
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+98
-75
lines changed

client-kotlin/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,6 @@ description = "Restate Client to interact with services from within other Kotlin
88
dependencies {
99
api(project(":client"))
1010
implementation(libs.kotlinx.coroutines.core)
11+
12+
runtimeOnly(project(":sdk-serde-kotlinx"))
1113
}

client/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,5 @@ dependencies {
1515
implementation(libs.jackson.core)
1616
implementation(libs.log4j.api)
1717

18-
testImplementation(libs.junit.jupiter)
19-
testImplementation(libs.assertj)
18+
runtimeOnly(project(":sdk-serde-jackson"))
2019
}

common/src/main/java/dev/restate/serde/SerdeFactory.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717
* </ul>
1818
*
1919
* When using the Java APIs, a Jackson based implementation is used by default, see {@link
20-
* dev.restate.sdk.serde.jackson.JacksonSerdeFactory} in {@code sdk-serde-jackson} module.
20+
* dev.restate.serde.jackson.JacksonSerdeFactory} in {@code sdk-serde-jackson} module.
2121
*
2222
* <p>When using the Kotlin APIs, a Kotlin Serialization implementation is used by default, see
23-
* {@link dev.restate.sdk.kotlin.serialization.KotlinSerializationSerdeFactory} in {@code
24-
* sdk-api-kotlin} module.
23+
* {@link dev.restate.serde.kotlinx.KotlinSerializationSerdeFactory} in {@code sdk-api-kotlin}
24+
* module.
2525
*
2626
* <p>You can override the default factory used for a given service by adding the annotation {@link
2727
* dev.restate.sdk.annotation.CustomSerdeFactory} on the interface/class annotated with {@link

sdk-api-gen/src/main/java/dev/restate/sdk/gen/ElementConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ Service fromTypeElement(MetaRestateAnnotation metaAnnotation, TypeElement elemen
8484
Diagnostic.Kind.WARNING, "The service " + serviceName + " has no handlers", element);
8585
}
8686

87-
String serdeFactoryDecl = "new dev.restate.sdk.serde.jackson.JacksonSerdeFactory()";
87+
String serdeFactoryDecl = "new dev.restate.serde.jackson.JacksonSerdeFactory()";
8888
CustomSerdeFactory customSerdeFactory = element.getAnnotation(CustomSerdeFactory.class);
8989
if (customSerdeFactory != null) {
9090
serdeFactoryDecl = "new " + getCustomSerdeClassCanonicalName(customSerdeFactory) + "()";

sdk-api-kotlin-gen/src/main/kotlin/dev/restate/sdk/kotlin/gen/KElementConverter.kt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,7 @@ class KElementConverter(
3333
private val SUPPORTED_CLASS_KIND: Set<ClassKind> = setOf(ClassKind.CLASS, ClassKind.INTERFACE)
3434
private val EMPTY_PAYLOAD: PayloadType =
3535
PayloadType(
36-
true,
37-
"",
38-
"Unit",
39-
"dev.restate.sdk.kotlin.serialization.KotlinSerializationSerdeFactory.UNIT")
36+
true, "", "Unit", "dev.restate.serde.kotlinx.KotlinSerializationSerdeFactory.UNIT")
4037
private const val RAW_SERDE: String = "dev.restate.serde.Serde.RAW"
4138
}
4239

@@ -94,7 +91,7 @@ class KElementConverter(
9491
classDeclaration)
9592
}
9693

97-
var serdeFactoryDecl = "dev.restate.sdk.kotlin.serialization.KotlinSerializationSerdeFactory()"
94+
var serdeFactoryDecl = "dev.restate.serde.kotlinx.KotlinSerializationSerdeFactory()"
9895
val customSerdeFactory: CustomSerdeFactory? =
9996
classDeclaration.getAnnotationsByType(CustomSerdeFactory::class).firstOrNull()
10097
if (customSerdeFactory != null) {
@@ -297,7 +294,7 @@ class KElementConverter(
297294
return when (ty) {
298295
builtIns.unitType -> EMPTY_PAYLOAD.serdeDecl
299296
else ->
300-
"SERDE_FACTORY.create(dev.restate.sdk.kotlin.serialization.typeTag<${boxedType(ty, qualifiedTypeName)}>())"
297+
"SERDE_FACTORY.create(dev.restate.serde.kotlinx.typeTag<${boxedType(ty, qualifiedTypeName)}>())"
301298
}
302299
}
303300

sdk-api-kotlin/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ dependencies {
1111
api(libs.kotlinx.serialization.json)
1212

1313
api(project(":sdk-common"))
14+
api(project(":sdk-serde-kotlinx"))
1415

1516
implementation(libs.log4j.api)
1617
implementation(libs.opentelemetry.kotlin)

sdk-api-kotlin/src/main/kotlin/dev/restate/sdk/kotlin/api.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ package dev.restate.sdk.kotlin
1010

1111
import dev.restate.common.Output
1212
import dev.restate.common.Request
13-
import dev.restate.sdk.kotlin.serialization.typeTag
1413
import dev.restate.sdk.types.DurablePromiseKey
1514
import dev.restate.sdk.types.HandlerRequest
1615
import dev.restate.sdk.types.StateKey
1716
import dev.restate.sdk.types.TerminalException
1817
import dev.restate.serde.TypeTag
18+
import dev.restate.serde.kotlinx.*
1919
import java.util.*
2020
import kotlin.random.Random
2121
import kotlin.time.Duration

sdk-core/src/test/java/dev/restate/sdk/core/javaapi/JavaAPITests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
import dev.restate.sdk.endpoint.definition.HandlerType;
2222
import dev.restate.sdk.endpoint.definition.ServiceDefinition;
2323
import dev.restate.sdk.endpoint.definition.ServiceType;
24-
import dev.restate.sdk.serde.jackson.JacksonSerdeFactory;
2524
import dev.restate.serde.Serde;
25+
import dev.restate.serde.jackson.JacksonSerdeFactory;
2626
import java.util.List;
2727
import java.util.stream.Stream;
2828

sdk-core/src/test/kotlin/dev/restate/sdk/core/kotlinapi/CodegenDiscoveryTest.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,12 @@ class CodegenDiscoveryTest {
5252

5353
@Test
5454
fun explicitNames() {
55-
assertThatDiscovery(object : GreeterWithExplicitName {
56-
override fun greet(context: dev.restate.sdk.kotlin.Context, request: String): String {
57-
TODO("Not yet implemented")
58-
}
59-
})
55+
assertThatDiscovery(
56+
object : GreeterWithExplicitName {
57+
override fun greet(context: dev.restate.sdk.kotlin.Context, request: String): String {
58+
TODO("Not yet implemented")
59+
}
60+
})
6061
.extractingService("MyExplicitName")
6162
.extractingHandler("my_greeter")
6263
Assertions.assertThat(GreeterWithExplicitNameHandlers.Metadata.SERVICE_NAME)

sdk-core/src/test/kotlin/dev/restate/sdk/core/kotlinapi/CodegenTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ import dev.restate.sdk.core.TestDefinitions.testInvocation
1919
import dev.restate.sdk.core.TestSerdes
2020
import dev.restate.sdk.core.statemachine.ProtoUtils.*
2121
import dev.restate.sdk.kotlin.*
22-
import dev.restate.sdk.kotlin.serialization.*
2322
import dev.restate.serde.Serde
2423
import dev.restate.serde.SerdeFactory
2524
import dev.restate.serde.TypeRef
2625
import dev.restate.serde.TypeTag
26+
import dev.restate.serde.kotlinx.*
2727
import java.util.stream.Stream
2828
import kotlinx.serialization.Serializable
2929

0 commit comments

Comments
 (0)