1

如何将 kotlinx.serialization 库与 Bazel 的 rules_kotlin 一起使用?

这是我尝试过的:

java_plugin(
    name = "grrr_plugin",
    processor_class = "org.jetbrains.kotlinx.serialization.compiler.backend.jvm.SerializableCodegenImpl",
    deps = ["@maven//:org_jetbrains_kotlin_kotlin_maven_serialization"],
)

kt_jvm_library(
    name = "dto",
    srcs = ["src/main/kotlin/Dto.kt"],
    plugins = [":grrr_plugin"],
    deps = [
        "//proto:market_java_proto",
        "@maven//:org_jetbrains_kotlin_kotlin_maven_serialization",
        "@maven//:org_jetbrains_kotlinx_kotlinx_serialization_runtime",
    ],
)

@Serializable
data class Foo(val id: String, val bar: Int)

,其中 Foo 是 :dto 包中的一个类。

我可以构建 dto 库,但我得到了

unresolved reference: serializer
    val jsonData = json.stringify(Foo.serializer(), foo)

当我在其他包中使用 dto 库时。

4

0 回答 0