/* * Copyright 2017-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. */ apply plugin: 'java' // Needed for protobuf plugin only apply plugin: 'kotlin-multiplatform' apply plugin: 'kotlinx-serialization' apply plugin: 'com.google.protobuf' apply from: rootProject.file("gradle/native-targets.gradle") apply from: rootProject.file("gradle/configure-source-sets.gradle") protobuf { protoc { // Download from repositories artifact = 'com.google.protobuf:protoc:3.17.3' } } clean { delete protobuf.generatedFilesBaseDir } kotlin { sourceSets { configureEach { languageSettings.optIn("kotlinx.serialization.internal.CoreFriendModuleApi") } commonMain { dependencies { api project(":kotlinx-serialization-core") } } jvmTest { kotlin.srcDirs += file("${protobuf.generatedFilesBaseDir}/test/java") dependencies { implementation 'com.google.protobuf:protobuf-java:3.17.3' implementation 'io.kotlintest:kotlintest:2.0.7' } } } } sourceSets.test.proto { srcDirs = ['testProto', 'jvmTest/resources/common'] } compileTestKotlinJvm { dependsOn 'generateTestProto' } Java9Modularity.configureJava9ModuleInfo(project)