buildscript { ext.serialization_version = mainLibVersion repositories { mavenCentral() jcenter() maven { url "https://dl.bintray.com/jetbrains/kotlin-native-dependencies" } } dependencies { classpath "com.moowork.gradle:gradle-node-plugin:$gradle_node_version" } } // see ../settings.gradle so this plugins could be resolved plugins { id 'kotlin-multiplatform' id 'kotlinx-serialization' } repositories { mavenLocal() mavenCentral() maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' } maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' } maven { url "https://kotlin.bintray.com/kotlinx" } } group 'com.example' version '0.0.1' apply plugin: 'maven-publish' kotlin { jvm() // Switching module kind for JS is required to run tests targets { fromPreset(presets.js, 'js') { configure([compilations.main, compilations.test]) { tasks.getByName(compileKotlinTaskName).kotlinOptions { sourceMap = true moduleKind = "umd" metaInfo = true } } } } // For ARM, should be changed to iosArm32 or iosArm64 // For Linux, should be changed to e.g. linuxX64 // For MacOS, should be changed to e.g. macosX64 // For Windows, should be changed to e.g. mingwX64 macosX64("macos") sourceSets { commonMain { dependencies { implementation kotlin('stdlib-common') implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:$serialization_version" } } commonTest { dependencies { implementation kotlin('test-common') implementation kotlin('test-annotations-common') } } jvmMain { dependencies { implementation kotlin('stdlib-jdk8') implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$serialization_version" } } jvmTest { dependencies { implementation kotlin('test') implementation kotlin('test-junit') } } jsMain { dependencies { implementation kotlin('stdlib-js') implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:$serialization_version" } } jsTest { dependencies { implementation kotlin('test-js') } } macosMain { dependencies { implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-native:$serialization_version" } } macosTest { } } } apply from: rootProject.file('gradle/node-js.gradle') apply from: rootProject.file('gradle/test-mocha-js.gradle') task run dependsOn "check"