plugins { id 'com.android.library' id 'org.jetbrains.kotlin.multiplatform' id 'org.jetbrains.kotlin.plugin.serialization' } android { compileSdkVersion rootProject.ext.version_android_compile_sdk packagingOptions { resources { excludes += ['META-INF/INDEX.LIST', '**/*.kotlin_metadata', 'META-INF/*.kotlin_module', 'licenses/**.TXT'] } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } defaultConfig { minSdkVersion 21 targetSdkVersion 31 } namespace 'com.ustadmobile.lib.test' } apply plugin: "maven-publish" sourceCompatibility = '1.8' targetCompatibility = '1.8' group rootProject.group version rootProject.version 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" } } // jvm("commonJvm") android() /* JS is disabled until after kotlin 1.4 upgrade js { nodejs() compilations.main.kotlinOptions { metaInfo = true sourceMap = true moduleKind = "commonjs" } } */ sourceSets { commonMain { dependencies { implementation project(":core") implementation "org.jetbrains.kotlin:kotlin-stdlib-common:$version_kotlin" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$version_coroutines" implementation "com.soywiz.korlibs.klock:klock:$version_klock" implementation "io.ktor:ktor-client-core:$version_ktor" implementation "io.ktor:ktor-client-json:$version_ktor" implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:$version_kotlinx_serialization" implementation "io.github.aakira:napier:$version_napier" implementation "org.kodein.di:kodein-di:$version_kodein_di" compileOnly project(":lib-database-entities") compileOnly project(":lib-database") compileOnly "com.github.UstadMobile.door:door-runtime:$version_door" compileOnly project(":lib-util") } } commonJvmMain { dependencies { implementation "io.ktor:ktor-client-okhttp:$version_ktor" implementation "io.ktor:ktor-client-cio:$version_ktor" implementation "io.ktor:ktor-client-gson:$version_ktor" compileOnly project(":lib-database-entities") compileOnly project(":lib-database") compileOnly "com.github.UstadMobile.door:door-runtime:$version_door" compileOnly project(":lib-util") } } jvmMain { dependsOn commonJvmMain dependencies { implementation "io.ktor:ktor-server-servlet:$version_ktor" implementation "io.ktor:ktor-server-netty:$version_ktor" implementation "io.ktor:ktor-gson:$version_ktor" implementation "com.soywiz.korlibs.klock:klock-jvm:$version_klock" implementation "com.squareup.okhttp3:okhttp:$version_okhttp" implementation "com.squareup.okhttp3:mockwebserver:$version_mockwebserver" implementation "org.xerial:sqlite-jdbc:$version_sqlite_jdbc" implementation "org.mockito.kotlin:mockito-kotlin:$version_kotlin_mockito" } } androidMain { dependsOn commonJvmMain dependencies { implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$version_coroutines" implementation "com.soywiz.korlibs.klock:klock-android:$version_klock" implementation project(":lib-database-android") implementation "androidx.room:room-runtime:$version_android_room" } } } } // workaround for https://youtrack.jetbrains.com/issue/KT-27170 configurations { compileClasspath } publishing { publications { maven(MavenPublication) { groupId rootProject.group artifactId project.name version rootProject.version } } repositories { maven { url rootProject.ext.buildConfigProperties['repo.dir'] } } }