plugins { kotlin("multiplatform") version "1.8.10" kotlin("plugin.serialization") version "1.8.10" `maven-publish` } group = "net.sergeych" version = "0.0.1-SNAPSHOT" repositories { mavenCentral() mavenLocal() maven("https://maven.universablockchain.com/") } kotlin { jvm { compilations.all { kotlinOptions.jvmTarget = "1.8" } withJava() testRuns["test"].executionTask.configure { useJUnitPlatform() } } js(IR) { browser { // commonWebpackConfig { // cssSupport.enabled = true // } } } val hostOs = System.getProperty("os.name") val isMingwX64 = hostOs.startsWith("Windows") val nativeTarget = when { hostOs == "Mac OS X" -> macosX64("native") hostOs == "Linux" -> linuxX64("native") isMingwX64 -> mingwX64("native") else -> throw GradleException("Host OS is not supported in Kotlin/Native.") } sourceSets { all { languageSettings.optIn("kotlinx.serialization.ExperimentalSerializationApi") } val commonMain by getting { dependencies { implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4") api("net.sergeych:mp_stools:[1.3.3,)") } } val commonTest by getting { dependencies { implementation(kotlin("test")) } } val jvmMain by getting val jvmTest by getting val jsMain by getting val jsTest by getting val nativeMain by getting val nativeTest by getting } publishing { val mavenToken by lazy { File("${System.getProperty("user.home")}/.gitea_token").readText() } repositories { maven { credentials(HttpHeaderCredentials::class) { name = "Authorization" value = mavenToken } url = uri("https://gitea.sergeych.net/api/packages/SergeychWorks/maven") authentication { create("Authorization", HttpHeaderAuthentication::class) } } } } }