From 7fe163c4c3d0f0733621a0b2c5c7a355b57f2e71 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 8 Nov 2025 20:43:29 +0000 Subject: [PATCH] feat: Add iOS and Kotlin native targets - Convert the `application` module to a multiplatform module. - Add iOS, Linux, macOS, and Windows targets to both the `application` and `library` modules to ensure compatibility. - Restructure the `application` source code from `src/main` to `src/commonMain` to align with Kotlin Multiplatform conventions. - Update the root `build.gradle.kts` to use the `kotlin("multiplatform")` plugin. --- application/build.gradle.kts | 13 +++++++++++-- .../kotlinx/serialization/example/Example.kt | 0 build.gradle.kts | 2 +- library/build.gradle.kts | 4 ++++ 4 files changed, 16 insertions(+), 3 deletions(-) rename application/src/{main => commonMain}/kotlin/de/brudaswen/kotlinx/serialization/example/Example.kt (100%) diff --git a/application/build.gradle.kts b/application/build.gradle.kts index c05907c..a51e3dd 100644 --- a/application/build.gradle.kts +++ b/application/build.gradle.kts @@ -1,13 +1,22 @@ plugins { - kotlin("jvm") + kotlin("multiplatform") kotlin("plugin.serialization") alias(libs.plugins.ktlint) } dependencies { - implementation(project(":library")) + commonMainImplementation(project(":library")) } kotlin { + jvm() + iosX64() + iosArm64() + iosSimulatorArm64() + linuxX64() + macosX64() + macosArm64() + mingwX64() + jvmToolchain(21) } diff --git a/application/src/main/kotlin/de/brudaswen/kotlinx/serialization/example/Example.kt b/application/src/commonMain/kotlin/de/brudaswen/kotlinx/serialization/example/Example.kt similarity index 100% rename from application/src/main/kotlin/de/brudaswen/kotlinx/serialization/example/Example.kt rename to application/src/commonMain/kotlin/de/brudaswen/kotlinx/serialization/example/Example.kt diff --git a/build.gradle.kts b/build.gradle.kts index e573dd9..2f8acec 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,7 +2,7 @@ import kotlin.time.Duration.Companion.minutes import kotlin.time.toJavaDuration plugins { - kotlin("jvm") version libs.versions.kotlin apply false + kotlin("multiplatform") version libs.versions.kotlin apply false kotlin("plugin.serialization") version libs.versions.kotlin apply false alias(libs.plugins.ktlint) alias(libs.plugins.nexus.publish) diff --git a/library/build.gradle.kts b/library/build.gradle.kts index f80b7e8..a178af6 100644 --- a/library/build.gradle.kts +++ b/library/build.gradle.kts @@ -25,9 +25,13 @@ dependencies { kotlin { jvm() + iosX64() iosArm64() iosSimulatorArm64() + linuxX64() + macosX64() macosArm64() + mingwX64() wasmJs { browser() nodejs()