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