plugins { id "org.jetbrains.kotlin.multiplatform" id "org.jetbrains.kotlin.plugin.serialization" version "$kotlinVersion" id "maven-publish" } kotlin { // Enable the default target hierarchy: targetHierarchy.default() jvm { jvmToolchain(8) withJava() // not allowed if android { } is present testRuns["test"].executionTask.configure { useJUnitPlatform() testLogging { // This is for logging and can be removed. events("passed", "skipped", "failed") } } } js(IR) { // binaries.executable() browser { testTask { useKarma { useChromeHeadless() useFirefoxHeadless() } } } nodejs() } linuxX64() mingwX64() ios { binaries { framework { baseName = "fints4k" } } } iosSimulatorArm64() macosX64() macosArm64() watchos() watchosSimulatorArm64() tvos() tvosSimulatorArm64() sourceSets { commonMain { dependencies { api project(":multiplatform-utils") implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion" implementation "co.touchlab:stately-concurrency:1.2.0" implementation "io.ktor:ktor-client-core:$ktorVersion" // only left here cause kmp-web-client doesn't expose ktor as api implementation("net.dankito.web.client:kmp-web-client:1.0.0-SNAPSHOT") } } commonTest { dependencies { implementation kotlin("test-common") implementation kotlin("test-annotations-common") } } jvmMain { dependencies { implementation "org.slf4j:slf4j-api:$slf4jVersion" } } jvmTest { dependencies { implementation "org.assertj:assertj-core:$assertJVersion" implementation "org.mockito:mockito-core:$mockitoVersion" // implementation project(":BankingUiCommon") // implementation project(":BankFinder") // implementation project(":fints4kBankingClient") implementation "org.apache.commons:commons-csv:1.8" implementation "org.slf4j:slf4j-simple:$slf4jVersion" } } jvmTest.dependencies { implementation kotlin("test-junit") implementation "org.junit.jupiter:junit-jupiter:$junit5Version" runtimeOnly "org.junit.jupiter:junit-jupiter-engine:$junit5Version" implementation "org.slf4j:slf4j-simple:$slf4jVersion" } jsMain { dependencies { } } jsTest.dependencies { implementation kotlin("test-js") } nativeMain { dependencies { implementation "com.github.ajalt.clikt:clikt:3.4.0" // only needed for writing files to output implementation "com.soywiz.korlibs.korio:korio:2.5.0" } } } }