/* * Copyright 2017-2024 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ import Java9Modularity.configureJava9ModuleInfo import com.google.protobuf.gradle.* import org.gradle.kotlin.dsl.protobuf plugins { java // Needed for protobuf plugin only kotlin("multiplatform") alias(libs.plugins.serialization) alias(libs.plugins.protobuf) id("native-targets-conventions") id("source-sets-conventions") } protobuf { protobuf.protoc { // Download from repositories artifact = libs.protoc.get().toString() } } tasks.clean { delete(protobuf.protobuf.generatedFilesBaseDir) } kotlin { sourceSets { configureEach { languageSettings.optIn("kotlinx.serialization.internal.CoreFriendModuleApi") } commonMain { dependencies { api(project(":kotlinx-serialization-core")) } } jvmTest { kotlin.srcDirs(file("${protobuf.protobuf.generatedFilesBaseDir}/test/java")) dependencies { implementation(libs.protobuf.java) implementation(libs.kotlintest) } } } } sourceSets.test { extensions.configure("proto") { srcDirs("testProto", "jvmTest/resources/common") } } tasks.compileTestKotlinJvm { dependsOn("generateTestProto") } configureJava9ModuleInfo()