plugins { id 'com.github.johnrengelman.shadow' version "$version_shadow" } apply plugin: "kotlin-multiplatform" apply plugin: 'kotlinx-serialization' apply plugin: "jacoco" kotlin { targets { fromPreset(presets.jvm, 'jvm') } 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" } } sourceSets { commonMain { dependencies { kotlin("stdlib-common") implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:$version_kotlinx_serialization" implementation "com.ustadmobile.xmlpullparserkmp:xmlpullparserkmp:$version_xmlpullparserkmp" } } jvmMain { dependencies { implementation project(":core") implementation project(':lib-database') implementation project(":lib-database-mpp") implementation project(":lib-database-entities") implementation "com.github.UstadMobile.door:door-runtime:$version_door" implementation project(":sharedse") implementation project(":lib-util") implementation "org.jsoup:jsoup:$version_jsoup" implementation "com.google.code.gson:gson:$version_gson" implementation "commons-io:commons-io:$version_commons_io" implementation "org.apache.commons:commons-lang3:$version_apache_commons_lang" implementation "org.seleniumhq.selenium:selenium-java:$version_selenium" implementation "org.seleniumhq.selenium:selenium-chrome-driver:$version_selenium" implementation "io.github.bonigarcia:webdrivermanager:$version_web_driver" implementation "com.neovisionaries:nv-i18n:$version_nv_lang" implementation "org.apache.logging.log4j:log4j-core:$version_log4j" implementation "org.apache.logging.log4j:log4j-api:$version_log4j" implementation "net.lightbody.bmp:browsermob-core:$version_browser_proxy" implementation "io.ktor:ktor-client-okhttp:$version_ktor" implementation "org.postgresql:postgresql:$version_postgres_jdbc" implementation "com.github.h-thurow:simple-jndi:$version_simple_jndi" implementation "org.apache.commons:commons-pool2:$version_apache_commons_pool2" implementation "org.apache.commons:commons-dbcp2:$version_apache_commons_dbcp2" implementation "org.apache.httpcomponents.core5:httpcore5:$version_httpcomponents_core5" implementation "commons-cli:commons-cli:$version_apache_commons_cli" implementation "org.xerial:sqlite-jdbc:$version_sqlite_jdbc" implementation "io.github.aakira:napier-jvm:$version_napier" implementation "com.soywiz.korlibs.klock:klock-jvm:$version_klock" implementation "org.kodein.di:kodein-di:$version_kodein_di" implementation "org.kodein.di:kodein-di-framework-ktor-server-jvm:$version_kodein_di" implementation "net.sf.kxml:kxml2:$version_kxml" } } jvmTest { dependencies { implementation "junit:junit:$version_junit" implementation "com.squareup.okhttp3:mockwebserver:$version_mockwebserver" implementation "org.mockito:mockito-core:$version_android_mockito" implementation "org.mockito.kotlin:mockito-kotlin:$version_kotlin_mockito" } } } } //Disabled 3/Nov - Taiga issue # //task shadowJar(type: ShadowJar, dependsOn: [jvmJar]) { // from jvmJar.archiveFile // configurations = [project.configurations.jvmRuntimeClasspath] // exclude "META-INF/*.SF" // exclude "META-INF/*.DSA" // exclude "META-INF/*.RSA" //} task copyTestResources(type: Copy) { from "${projectDir}/src/jvmMain/resources" into "${buildDir}/classes/test" exclude "**/jndi.properties" } jvmTest.dependsOn(copyTestResources) sourceCompatibility = "1.8" targetCompatibility = "1.8"