Umstellung auf Kotlin Multiplatform

This commit is contained in:
Hartmut Bauer committed 2026-01-18 17:17:53 +01:00
1 parent 1ee8dd356f
commit 4a73301eb3
35 files changed
+246 -47

No files matched your search

+99 -25
View File
@@ -1,12 +1,15 @@
@file:OptIn(ExperimentalKotlinGradlePluginApi::class)
//@file:OptIn(ExperimentalKotlinGradlePluginApi::class)
@file:OptIn(ExperimentalWasmDsl::class)
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
kotlin("jvm") version masterLibs.versions.kotlinVersion
`java-library`
// kotlin("jvm") version masterLibs.versions.kotlinVersion
// `java-library`
`maven-publish`
alias(masterLibs.plugins.dokkaPlugin)
alias(masterLibs.plugins.kotlinMultiplatformPlugin)
alias(masterLibs.plugins.versionPlugin)
}
@@ -20,27 +23,98 @@ repositories {
maven("https://nexus.keinekekse.net/repository/maven-public/")
}
dependencies {
implementation(masterLibs.kotlinxSerialization)
// f. cmd line via annotation KMP?
implementation(kotlin("reflect"))
}
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(masterLibs.versions.javaVersion.get()))
}
withSourcesJar()
}
//dependencies {
// implementation(masterLibs.kotlinxSerialization)
// // f. cmd line via annotation KMP?
// implementation(kotlin("reflect"))
//
//}
kotlin {
jvmToolchain(masterLibs.versions.javaVersion.get().toInt())
// compilerOptions {
// languageVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_3)
// }
// explicitApi()
jvm {
compilerOptions.jvmTarget =
JvmTarget.valueOf("JVM_" + masterLibs.versions.javaVersion.get()) //JvmTarget.JVM_1_8
}
js {
browser {
testTask {
useKarma {
useChromeHeadless()
}
}
}
nodejs()
}
wasmJs {
browser {
testTask {
useKarma {
useChromeHeadless()
}
}
}
nodejs()
}
wasmWasi {
nodejs()
}
// macosX64()
macosArm64()
// iosX64()
// iosArm64()
// iosSimulatorArm64()
// watchosArm32()
// watchosArm64()
// watchosX64()
// watchosSimulatorArm64()
// watchosDeviceArm64()
// tvosArm64()
// tvosX64()
// tvosSimulatorArm64()
// mingwX64()
linuxX64()
// linuxArm64()
// androidNativeArm32()
// androidNativeArm64()
// androidNativeX86()
// androidNativeX64()
applyDefaultHierarchyTemplate()
sourceSets {
commonMain.dependencies {
implementation(masterLibs.kotlinxSerialization)
}
jvmMain.dependencies {
implementation(kotlin("reflect"))
}
// commonTest.dependencies {
// implementation(libs.kotlin.test)
// implementation(libs.serialization.json)
// }
}
}
//kotlin {
// jvmToolchain(masterLibs.versions.javaVersion.get().toInt())
//// compilerOptions {
//// languageVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_3)
//// }
//}
/* Generierte Dokka-Doku als javadoc.jar ausgeben (s.a. "publishing")
tasks.register<Jar>("dokkaJar") {
group = "build"
@@ -62,10 +136,10 @@ publishing {
url = uri("https://nexus.keinekekse.net/repository/maven-releases/")
}
}
publications.create<MavenPublication>("maven") {
from(components["java"])
// artifact(tasks["dokkaJar"])
}
// publications.create<MavenPublication>("maven") {
// from(components["java"])
//// artifact(tasks["dokkaJar"])
// }
}
// ./gradlew dokkaGenerate