From 6e762d3c2d6f75b0e6756772cc194d4dcf67bf27 Mon Sep 17 00:00:00 2001 From: stylianosgakis Date: Thu, 12 Nov 2026 12:46:09 +0100 Subject: [PATCH 1/2] Move feature-forever sources into KMP source set directories --- .../feature-forever/src/{main => androidMain}/AndroidManifest.xml | 0 .../hedvig/android/feature/forever/navigation/ForeverEntries.kt | 0 .../hedvig/android/feature/forever/navigation/ForeverDeepLinks.kt | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename app/feature/feature-forever/src/{main => androidMain}/AndroidManifest.xml (100%) rename app/feature/feature-forever/src/{main => androidMain}/kotlin/com/hedvig/android/feature/forever/navigation/ForeverEntries.kt (100%) rename app/feature/feature-forever/src/{main => commonMain}/kotlin/com/hedvig/android/feature/forever/navigation/ForeverDeepLinks.kt (100%) diff --git a/app/feature/feature-forever/src/main/AndroidManifest.xml b/app/feature/feature-forever/src/androidMain/AndroidManifest.xml similarity index 100% rename from app/feature/feature-forever/src/main/AndroidManifest.xml rename to app/feature/feature-forever/src/androidMain/AndroidManifest.xml diff --git a/app/feature/feature-forever/src/main/kotlin/com/hedvig/android/feature/forever/navigation/ForeverEntries.kt b/app/feature/feature-forever/src/androidMain/kotlin/com/hedvig/android/feature/forever/navigation/ForeverEntries.kt similarity index 100% rename from app/feature/feature-forever/src/main/kotlin/com/hedvig/android/feature/forever/navigation/ForeverEntries.kt rename to app/feature/feature-forever/src/androidMain/kotlin/com/hedvig/android/feature/forever/navigation/ForeverEntries.kt diff --git a/app/feature/feature-forever/src/main/kotlin/com/hedvig/android/feature/forever/navigation/ForeverDeepLinks.kt b/app/feature/feature-forever/src/commonMain/kotlin/com/hedvig/android/feature/forever/navigation/ForeverDeepLinks.kt similarity index 100% rename from app/feature/feature-forever/src/main/kotlin/com/hedvig/android/feature/forever/navigation/ForeverDeepLinks.kt rename to app/feature/feature-forever/src/commonMain/kotlin/com/hedvig/android/feature/forever/navigation/ForeverDeepLinks.kt From 662ada3bc67291b892e04f8f9558f02147e5f522 Mon Sep 17 00:00:00 2001 From: stylianosgakis Date: Thu, 12 Nov 2026 12:49:41 +0100 Subject: [PATCH 2/2] Convert feature-forever to Kotlin Multiplatform ForeverDeepLinks.kt compiles from commonMain. ForeverEntries.kt stays in androidMain because it uses NavSuiteSceneDecoratorStrategy.showNavBar(), which lives in androidMain of navigation-compose. The metrox ViewModel artifacts were added implicitly to Android library modules and are now declared for androidMain, where metroViewModel() is called. --- app/feature/feature-forever/build.gradle.kts | 35 ++++++++++++-------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/app/feature/feature-forever/build.gradle.kts b/app/feature/feature-forever/build.gradle.kts index 4f0d95e3c1..17d093a179 100644 --- a/app/feature/feature-forever/build.gradle.kts +++ b/app/feature/feature-forever/build.gradle.kts @@ -1,5 +1,6 @@ plugins { - id("hedvig.android.library") + id("hedvig.multiplatform.library") + id("hedvig.multiplatform.library.android") id("hedvig.gradle.plugin") } @@ -7,16 +8,24 @@ hedvig { compose() } -dependencies { - implementation(libs.kotlinx.serialization.core) - implementation(projects.coreBuildConstants) - implementation(projects.coreCommonPublic) - implementation(projects.designSystemHedvig) - implementation(projects.featureForeverNavigation) - implementation(projects.foreverUi) - implementation(projects.languageCore) - implementation(projects.moleculePublic) - implementation(projects.navigationCommon) - implementation(projects.navigationCompose) - implementation(projects.navigationCore) +kotlin { + sourceSets { + commonMain.dependencies { + implementation(libs.kotlinx.serialization.core) + implementation(projects.coreBuildConstants) + implementation(projects.coreCommonPublic) + implementation(projects.designSystemHedvig) + implementation(projects.featureForeverNavigation) + implementation(projects.foreverUi) + implementation(projects.languageCore) + implementation(projects.moleculePublic) + implementation(projects.navigationCommon) + implementation(projects.navigationCompose) + implementation(projects.navigationCore) + } + androidMain.dependencies { + implementation(libs.metro.viewmodel) + implementation(libs.metro.viewmodel.compose) + } + } }