buildscript { repositories { mavenLocal() jcenter() mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" } } plugins { id "org.jetbrains.kotlin.multiplatform" id "org.jetbrains.kotlin.plugin.serialization" } project.version = "$library_version" project.group = "$library_group" apply from: "publish.gradle" repositories { mavenLocal() jcenter() mavenCentral() maven { url "https://kotlin.bintray.com/kotlinx" } } kotlin { jvm { compilations.main.kotlinOptions.useIR = true } js(BOTH) { browser() nodejs() } sourceSets { commonMain { dependencies { implementation kotlin('stdlib') api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version" api "org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlin_serialisation_runtime_version" api "org.jetbrains.kotlinx:kotlinx-serialization-properties:$kotlin_serialisation_runtime_version" api "com.soywiz.korlibs.klock:klock:$klock_version" api "com.benasher44:uuid:$uuid_version" api "dev.inmo:micro_utils.crypto:$micro_utils_version" api "dev.inmo:micro_utils.coroutines:$micro_utils_version" api "dev.inmo:micro_utils.serialization.base64:$micro_utils_version" api "dev.inmo:micro_utils.serialization.encapsulator:$micro_utils_version" api "io.ktor:ktor-client-core:$ktor_version" } } commonTest { dependencies { implementation kotlin('test-common') implementation kotlin('test-annotations-common') } } jvmMain { dependencies { api "io.ktor:ktor-server:$ktor_version" api "io.ktor:ktor-server-host-common:$ktor_version" api "io.ktor:ktor-client-cio:$ktor_version" api "javax.activation:activation:$javax_activation_version" } } jvmTest { dependencies { implementation kotlin('test-junit') } } jsTest { dependencies { implementation kotlin('test-junit') implementation kotlin('test-js') } } } targets.all { compilations.all { kotlinOptions { freeCompilerArgs += ["-Xuse-experimental=kotlinx.coroutines.ExperimentalCoroutinesApi", "-Xopt-in=kotlin.RequiresOptIn"] } } } }