@file:OptIn(ExperimentalWasmDsl::class) import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl plugins { kotlin("multiplatform") } repositories { mavenLocal() // TODO: remove again as soon as kmp-web-client is released maven { setUrl("https://oss.sonatype.org/content/repositories/snapshots/") } } kotlin { jvmToolchain(8) jvm { withJava() testRuns["test"].executionTask.configure { useJUnitPlatform() testLogging { showExceptions = true showStandardStreams = true events("passed", "skipped", "failed") // exceptionFormat = org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL } } } js { moduleName = "fints4k-banking-client" binaries.executable() browser { testTask { useKarma { useChromeHeadless() useFirefoxHeadless() } } } nodejs { testTask { useMocha { timeout = "20s" // Mocha times out after 2 s, which is too short for bufferExceeded() test } } } } // wasmJs() linuxX64() mingwX64() iosArm64() iosSimulatorArm64() macosX64() macosArm64() watchosArm64() watchosSimulatorArm64() tvosArm64() tvosSimulatorArm64() applyDefaultHierarchyTemplate() val coroutinesVersion: String by project val kotlinxDateTimeVersion: String by project sourceSets { commonMain { dependencies { api(project(":BankingClient")) api("net.codinux.banking:fints4k:1.0.0-Alpha-11-SNAPSHOT") api("org.jetbrains.kotlinx:kotlinx-datetime:$kotlinxDateTimeVersion") } } commonTest { dependencies { implementation(kotlin("test")) implementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutinesVersion") } } jvmMain { dependencies { } } jvmTest { dependencies { implementation(kotlin("test")) } } jsMain { dependencies { } } jsTest { } nativeMain { } nativeTest { } } } ext["customArtifactId"] = "fints4k-banking-client" apply(from = "../gradle/scripts/publish-codinux.gradle.kts")