buildscript { repositories { mavenLocal() // jcenter() mavenCentral() google() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" classpath "com.github.breadmoirai:github-release:$github_release_plugin_version" classpath "com.getkeepsafe.dexcount:dexcount-gradle-plugin:$dexcount_version" classpath "com.android.tools.build:gradle:$android_gradle_version" } } plugins { id "org.jetbrains.kotlin.multiplatform" version "$kotlin_version" id "org.jetbrains.kotlin.plugin.serialization" version "$kotlin_version" id "org.jetbrains.dokka" version "$dokka_version" } // temporal crutch until legacy tests will be stabled or legacy target will be removed allprojects { if (it != rootProject.findProject("docs")) { tasks.whenTaskAdded { task -> if(task.name == "jsLegacyBrowserTest" || task.name == "jsLegacyNodeTest") { task.enabled = false } } } } apply plugin: "com.android.library" project.version = "$version" project.group = "dev.inmo" apply from: "publish.gradle" apply from: "github_release.gradle" repositories { mavenLocal() // jcenter() mavenCentral() // maven { url "https://kotlin.bintray.com/kotlinx" } google() } apply from: './dokka.gradle' kotlin { jvm() js(IR) { browser() nodejs() } android { publishAllLibraryVariants() } linuxX64() mingwX64() sourceSets { commonMain { dependencies { implementation kotlin('stdlib') api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version" api "org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlin_serialization_version" api "com.soywiz.korlibs.klock:klock:$klockVersion" } } androidMain { dependencies { api "androidx.work:work-runtime-ktx:$androidx_work_version" } } commonTest { dependencies { implementation kotlin('test-common') implementation kotlin('test-annotations-common') implementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlin_coroutines_version" } } jvmTest { dependencies { implementation kotlin('test-junit') } } jsTest { dependencies { implementation kotlin('test-js') } } androidUnitTest { dependencies { implementation kotlin('test-junit') } } } } apply plugin: 'com.getkeepsafe.dexcount' android { compileSdk "$android_compileSdkVersion".toInteger() buildToolsVersion "$android_buildToolsVersion" namespace "${group}.${project.name}" defaultConfig { minSdkVersion "$android_minSdkVersion".toInteger() targetSdkVersion "$android_compileSdkVersion".toInteger() versionCode "${android_code_version}".toInteger() versionName "$version" } buildTypes { release { minifyEnabled false } debug { debuggable true } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } sourceSets { main.java.srcDirs += 'src/main/kotlin' test { java.srcDir file("src/jvmTest") } } } java { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 }