plugins { id 'org.jetbrains.kotlin.multiplatform' id 'com.android.library' id 'org.jetbrains.kotlin.plugin.serialization' } group rootProject.group version rootProject.version android { compileSdkVersion rootProject.ext.version_android_compile_sdk defaultConfig { minSdkVersion 21 targetSdkVersion rootProject.ext.version_android_target_sdk } packagingOptions { resources { excludes += ['META-INF/INDEX.LIST', '**/*.kotlin_metadata', 'META-INF/*.kotlin_module', 'licenses/**.TXT'] } } compileOptions { sourceCompatibility = '17' targetCompatibility = '17' } namespace 'com.ustadmobile.lib.util' tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) { kotlinOptions { jvmTarget = "17" } } } sourceCompatibility = '17' targetCompatibility = '17' group rootProject.group version rootProject.version // workaround for https://youtrack.jetbrains.com/issue/KT-27170 configurations { compileClasspath } kotlin { jvm { compilations.main.kotlinOptions { // Setup the Kotlin compiler options for the 'main' compilation: jvmTarget = "$version_kotlin_jvmTarget" } compilations.test.kotlinOptions { // Setup the Kotlin compiler options for the 'main' compilation: jvmTarget = "$version_kotlin_jvmTarget" } } androidTarget { publishLibraryVariants("release", "debug") } js(IR) { browser { testTask { useKarma { useChromeHeadless() //change to useChrome to run the actual browser } } } } sourceSets { commonMain { dependencies { implementation kotlin('stdlib-common') implementation libs.napier implementation libs.ktor.client.core implementation libs.coroutines implementation libs.door.runtime implementation libs.xmlpullparsekmp } } commonJvmMain { dependencies { compileOnly libs.kxml2 } } commonTest { dependencies { implementation kotlin('test-common') implementation kotlin('test-annotations-common') } } jvmMain { dependencies { implementation libs.simplejndi } dependsOn commonJvmMain } jvmTest { dependencies { implementation libs.kotlin.test implementation libs.kotlin.test.junit } } androidMain { dependencies { implementation libs.androidx.lifecycle.livedata.ktx implementation libs.androidx.room.runtime } dependsOn commonJvmMain } } }