diff --git a/build.gradle.kts b/build.gradle.kts index 3a45a64..0a719ff 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -15,6 +15,7 @@ version = System.getenv("GITHUB_REF_NAME") plugins { id("java") `maven-publish` + alias(libs.plugins.kotlinJvm) alias(libs.plugins.protobuf) alias(libs.plugins.shadow) } @@ -24,13 +25,22 @@ repositories { } dependencies { - implementation(libs.protoJava) + implementation(libs.protobufKotlin) } +kotlin { jvmToolchain(21) } + protobuf { protoc { artifact = libs.protoc.get().toString() } + generateProtoTasks { + all().forEach { + it.builtins { + register("kotlin") + } + } + } } sourceSets { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3cddc56..12dd353 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,14 +2,16 @@ # https://docs.gradle.org/current/userguide/platforms.html#sub::toml-dependencies-format [versions] +kotlin = "2.2.20" protobuf = "4.32.1" protobufPlugin = "0.9.5" shadow = "9.2.0" [libraries] -protoJava = { group = "com.google.protobuf", name = "protobuf-java", version.ref = "protobuf" } +protobufKotlin = { group = "com.google.protobuf", name = "protobuf-kotlin", version.ref = "protobuf" } protoc = { group = "com.google.protobuf", name = "protoc", version.ref = "protobuf" } [plugins] +kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } protobuf = { id = "com.google.protobuf", version.ref = "protobufPlugin" } shadow = { id = "com.gradleup.shadow", version.ref = "shadow" }