如何将 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 库时。