1/* 2 * Copyright 2017-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 3 */ 4 5apply plugin: 'java' // Needed for protobuf plugin only 6apply plugin: 'kotlin-multiplatform' 7apply plugin: 'kotlinx-serialization' 8apply plugin: 'com.google.protobuf' 9apply from: rootProject.file("gradle/native-targets.gradle") 10apply from: rootProject.file("gradle/configure-source-sets.gradle") 11 12protobuf { 13 protoc { 14 // Download from repositories 15 artifact = 'com.google.protobuf:protoc:3.17.3' 16 } 17} 18 19clean { 20 delete protobuf.generatedFilesBaseDir 21} 22 23kotlin { 24 sourceSets { 25 configureEach { 26 languageSettings.optIn("kotlinx.serialization.internal.CoreFriendModuleApi") 27 } 28 29 commonMain { 30 dependencies { 31 api project(":kotlinx-serialization-core") 32 } 33 } 34 35 jvmTest { 36 kotlin.srcDirs += file("${protobuf.generatedFilesBaseDir}/test/java") 37 dependencies { 38 implementation 'com.google.protobuf:protobuf-java:3.17.3' 39 implementation 'io.kotlintest:kotlintest:2.0.7' 40 } 41 } 42 } 43} 44 45sourceSets.test.proto { 46 srcDirs = ['testProto', 'jvmTest/resources/common'] 47} 48 49compileTestKotlinJvm { 50 dependsOn 'generateTestProto' 51} 52 53Java9Modularity.configureJava9ModuleInfo(project) 54