From 61bc9bfdd24440b725edce69ab9848c80ba1bf98 Mon Sep 17 00:00:00 2001 From: James Rich <2199651+jamesarich@users.noreply.github.com> Date: Wed, 17 Dec 2025 13:48:01 -0600 Subject: [PATCH] refactor(build): Migrate core/common to KMP and cleanup build logic (#4026) Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com> --- .../src/main/kotlin/KmpLibraryConventionPlugin.kt | 1 - core/common/build.gradle.kts | 9 ++++++--- .../kotlin/org/meshtastic/core/common/ContextServices.kt | 0 .../org/meshtastic/core/common/BuildConfigProvider.kt | 0 .../kotlin/org/meshtastic/core/common/ByteUtils.kt | 0 core/strings/build.gradle.kts | 1 + 6 files changed, 7 insertions(+), 4 deletions(-) rename core/common/src/{main => androidMain}/kotlin/org/meshtastic/core/common/ContextServices.kt (100%) rename core/common/src/{main => commonMain}/kotlin/org/meshtastic/core/common/BuildConfigProvider.kt (100%) rename core/common/src/{main => commonMain}/kotlin/org/meshtastic/core/common/ByteUtils.kt (100%) diff --git a/build-logic/convention/src/main/kotlin/KmpLibraryConventionPlugin.kt b/build-logic/convention/src/main/kotlin/KmpLibraryConventionPlugin.kt index 3da6a596e..c0520eae4 100644 --- a/build-logic/convention/src/main/kotlin/KmpLibraryConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/KmpLibraryConventionPlugin.kt @@ -28,7 +28,6 @@ class KmpLibraryConventionPlugin : Plugin { override fun apply(target: Project) { with(target) { apply(plugin = "org.jetbrains.kotlin.multiplatform") - apply(plugin = "org.jetbrains.kotlin.plugin.compose") apply(plugin = "com.android.kotlin.multiplatform.library") apply(plugin = "meshtastic.detekt") apply(plugin = "meshtastic.spotless") diff --git a/core/common/build.gradle.kts b/core/common/build.gradle.kts index b6fcd38c4..87460fda7 100644 --- a/core/common/build.gradle.kts +++ b/core/common/build.gradle.kts @@ -16,10 +16,13 @@ */ plugins { - alias(libs.plugins.meshtastic.android.library) + alias(libs.plugins.meshtastic.kmp.library) alias(libs.plugins.kover) } -android { namespace = "org.meshtastic.core.common" } +kotlin { + @Suppress("UnstableApiUsage") + androidLibrary { namespace = "org.meshtastic.core.common" } -dependencies { implementation(libs.androidx.core.ktx) } + sourceSets { androidMain.dependencies { implementation(libs.androidx.core.ktx) } } +} diff --git a/core/common/src/main/kotlin/org/meshtastic/core/common/ContextServices.kt b/core/common/src/androidMain/kotlin/org/meshtastic/core/common/ContextServices.kt similarity index 100% rename from core/common/src/main/kotlin/org/meshtastic/core/common/ContextServices.kt rename to core/common/src/androidMain/kotlin/org/meshtastic/core/common/ContextServices.kt diff --git a/core/common/src/main/kotlin/org/meshtastic/core/common/BuildConfigProvider.kt b/core/common/src/commonMain/kotlin/org/meshtastic/core/common/BuildConfigProvider.kt similarity index 100% rename from core/common/src/main/kotlin/org/meshtastic/core/common/BuildConfigProvider.kt rename to core/common/src/commonMain/kotlin/org/meshtastic/core/common/BuildConfigProvider.kt diff --git a/core/common/src/main/kotlin/org/meshtastic/core/common/ByteUtils.kt b/core/common/src/commonMain/kotlin/org/meshtastic/core/common/ByteUtils.kt similarity index 100% rename from core/common/src/main/kotlin/org/meshtastic/core/common/ByteUtils.kt rename to core/common/src/commonMain/kotlin/org/meshtastic/core/common/ByteUtils.kt diff --git a/core/strings/build.gradle.kts b/core/strings/build.gradle.kts index fc672ed64..2a24987d4 100644 --- a/core/strings/build.gradle.kts +++ b/core/strings/build.gradle.kts @@ -19,6 +19,7 @@ import com.android.build.api.dsl.androidLibrary plugins { alias(libs.plugins.meshtastic.kmp.library) alias(libs.plugins.compose.multiplatform) + alias(libs.plugins.compose.compiler) } kotlin {