From bd8239b21adc6bf48e281f487ef5ef2ab71e52a7 Mon Sep 17 00:00:00 2001 From: xiaqiulei Date: Sun, 12 Apr 2026 14:38:27 +0800 Subject: [PATCH 1/2] Fix duplicate Android namespace and constructor overload ambiguity Assign unique Android namespace to each module to resolve the 'namespace used in multiple modules' build error. Also fix ControlPanelItem constructor call ambiguity in iOS and JVM tests by dropping the redundant null argument. --- main-core/build.gradle.kts | 2 +- main-runtime-stub/build.gradle.kts | 2 +- main-runtime/build.gradle.kts | 2 +- module/firebase/firebase-analytics-stub/build.gradle.kts | 2 +- module/firebase/firebase-analytics/build.gradle.kts | 2 +- module/firebase/firebase-cloud-messaging-stub/build.gradle.kts | 2 +- module/firebase/firebase-cloud-messaging/build.gradle.kts | 2 +- module/logging/logging-stub/build.gradle.kts | 2 +- module/logging/logging/build.gradle.kts | 2 +- module/network/ktor3-stub/build.gradle.kts | 2 +- module/network/ktor3/build.gradle.kts | 2 +- module/settings/control-panel-stub/build.gradle.kts | 2 +- module/settings/control-panel/build.gradle.kts | 2 +- .../feature/main/presentation/ControlPanelIosUiTest.kt | 2 +- .../feature/main/presentation/ControlPanelUiTest.kt | 2 +- module/settings/multiplatform-settings-stub/build.gradle.kts | 2 +- module/settings/multiplatform-settings/build.gradle.kts | 2 +- module/sqlite/sqlite-room-adapter-stub/build.gradle.kts | 2 +- module/sqlite/sqlite-runtime-stub/build.gradle.kts | 2 +- module/sqlite/sqlite-runtime/build.gradle.kts | 2 +- module/sqlite/sqlite-sqldelight-adapter-stub/build.gradle.kts | 2 +- module/sqlite/sqlite-sqldelight-adapter/build.gradle.kts | 2 +- 22 files changed, 22 insertions(+), 22 deletions(-) diff --git a/main-core/build.gradle.kts b/main-core/build.gradle.kts index 6924de13..e61b986e 100644 --- a/main-core/build.gradle.kts +++ b/main-core/build.gradle.kts @@ -72,7 +72,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.main.core" compileSdk = 35 defaultConfig { diff --git a/main-runtime-stub/build.gradle.kts b/main-runtime-stub/build.gradle.kts index 5bf995e1..4f860e10 100644 --- a/main-runtime-stub/build.gradle.kts +++ b/main-runtime-stub/build.gradle.kts @@ -48,7 +48,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.main.runtime.stub" compileSdk = 35 defaultConfig { diff --git a/main-runtime/build.gradle.kts b/main-runtime/build.gradle.kts index e8cce8e6..4c174d7b 100644 --- a/main-runtime/build.gradle.kts +++ b/main-runtime/build.gradle.kts @@ -75,7 +75,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.main.runtime" compileSdk = 35 defaultConfig { diff --git a/module/firebase/firebase-analytics-stub/build.gradle.kts b/module/firebase/firebase-analytics-stub/build.gradle.kts index 1ea7a2a9..33fdb837 100644 --- a/module/firebase/firebase-analytics-stub/build.gradle.kts +++ b/module/firebase/firebase-analytics-stub/build.gradle.kts @@ -70,7 +70,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.firebaseanalytics.stub" compileSdk = 35 defaultConfig { diff --git a/module/firebase/firebase-analytics/build.gradle.kts b/module/firebase/firebase-analytics/build.gradle.kts index 695d8fa1..e642023c 100644 --- a/module/firebase/firebase-analytics/build.gradle.kts +++ b/module/firebase/firebase-analytics/build.gradle.kts @@ -75,7 +75,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.firebaseanalytics" compileSdk = 35 defaultConfig { diff --git a/module/firebase/firebase-cloud-messaging-stub/build.gradle.kts b/module/firebase/firebase-cloud-messaging-stub/build.gradle.kts index 798c2574..c5a21348 100644 --- a/module/firebase/firebase-cloud-messaging-stub/build.gradle.kts +++ b/module/firebase/firebase-cloud-messaging-stub/build.gradle.kts @@ -65,7 +65,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.fcm.stub" compileSdk = 35 defaultConfig { diff --git a/module/firebase/firebase-cloud-messaging/build.gradle.kts b/module/firebase/firebase-cloud-messaging/build.gradle.kts index 7e372a6d..b7339639 100644 --- a/module/firebase/firebase-cloud-messaging/build.gradle.kts +++ b/module/firebase/firebase-cloud-messaging/build.gradle.kts @@ -75,7 +75,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.fcm" compileSdk = 35 defaultConfig { diff --git a/module/logging/logging-stub/build.gradle.kts b/module/logging/logging-stub/build.gradle.kts index 4b0c43eb..ed864ada 100644 --- a/module/logging/logging-stub/build.gradle.kts +++ b/module/logging/logging-stub/build.gradle.kts @@ -69,7 +69,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.logging.stub" compileSdk = 35 defaultConfig { diff --git a/module/logging/logging/build.gradle.kts b/module/logging/logging/build.gradle.kts index fc696d54..62227b43 100644 --- a/module/logging/logging/build.gradle.kts +++ b/module/logging/logging/build.gradle.kts @@ -100,7 +100,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.logging" compileSdk = 35 defaultConfig { diff --git a/module/network/ktor3-stub/build.gradle.kts b/module/network/ktor3-stub/build.gradle.kts index 9a67e71a..d62ccc48 100644 --- a/module/network/ktor3-stub/build.gradle.kts +++ b/module/network/ktor3-stub/build.gradle.kts @@ -66,7 +66,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.ktor3.stub" compileSdk = 35 defaultConfig { diff --git a/module/network/ktor3/build.gradle.kts b/module/network/ktor3/build.gradle.kts index a4d14d42..3dc8f466 100644 --- a/module/network/ktor3/build.gradle.kts +++ b/module/network/ktor3/build.gradle.kts @@ -107,7 +107,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.ktor3" compileSdk = 35 defaultConfig { diff --git a/module/settings/control-panel-stub/build.gradle.kts b/module/settings/control-panel-stub/build.gradle.kts index 11fb0ece..22fccbf1 100644 --- a/module/settings/control-panel-stub/build.gradle.kts +++ b/module/settings/control-panel-stub/build.gradle.kts @@ -70,7 +70,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.controlpanel.stub" compileSdk = 35 defaultConfig { diff --git a/module/settings/control-panel/build.gradle.kts b/module/settings/control-panel/build.gradle.kts index 819b0b17..fa1289ed 100644 --- a/module/settings/control-panel/build.gradle.kts +++ b/module/settings/control-panel/build.gradle.kts @@ -91,7 +91,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.controlpanel" compileSdk = 35 defaultConfig { diff --git a/module/settings/control-panel/src/iosTest/kotlin/ru/bartwell/kick/module/controlpanel/feature/main/presentation/ControlPanelIosUiTest.kt b/module/settings/control-panel/src/iosTest/kotlin/ru/bartwell/kick/module/controlpanel/feature/main/presentation/ControlPanelIosUiTest.kt index aa6c43e4..bf9b604d 100644 --- a/module/settings/control-panel/src/iosTest/kotlin/ru/bartwell/kick/module/controlpanel/feature/main/presentation/ControlPanelIosUiTest.kt +++ b/module/settings/control-panel/src/iosTest/kotlin/ru/bartwell/kick/module/controlpanel/feature/main/presentation/ControlPanelIosUiTest.kt @@ -21,7 +21,7 @@ class ControlPanelIosUiTest { @Test fun interactions() = runComposeUiTest { val items = listOf( - ControlPanelItem("FeatureFlag", InputType.Boolean(false), null), + ControlPanelItem("FeatureFlag", InputType.Boolean(false)), ControlPanelItem("MaxItems", InputType.Int(5), Editor.InputNumber(min = 0.0, max = 100.0)), ControlPanelItem("Mode", InputType.String("A"), Editor.InputString(singleLine = true)) ) diff --git a/module/settings/control-panel/src/jvmTest/kotlin/ru/bartwell/kick/module/controlpanel/feature/main/presentation/ControlPanelUiTest.kt b/module/settings/control-panel/src/jvmTest/kotlin/ru/bartwell/kick/module/controlpanel/feature/main/presentation/ControlPanelUiTest.kt index 79653369..2f13f05b 100644 --- a/module/settings/control-panel/src/jvmTest/kotlin/ru/bartwell/kick/module/controlpanel/feature/main/presentation/ControlPanelUiTest.kt +++ b/module/settings/control-panel/src/jvmTest/kotlin/ru/bartwell/kick/module/controlpanel/feature/main/presentation/ControlPanelUiTest.kt @@ -25,7 +25,7 @@ class ControlPanelUiTest { @Test fun back_and_save_and_toggle_and_number_and_string() { val items = listOf( - ControlPanelItem("FeatureFlag", InputType.Boolean(false), null), + ControlPanelItem("FeatureFlag", InputType.Boolean(false)), ControlPanelItem("MaxItems", InputType.Int(5), Editor.InputNumber(min = 0.0, max = 100.0)), ControlPanelItem("Mode", InputType.String("A"), Editor.InputString(singleLine = true)) ) diff --git a/module/settings/multiplatform-settings-stub/build.gradle.kts b/module/settings/multiplatform-settings-stub/build.gradle.kts index d4c9adc5..cb4bcce3 100644 --- a/module/settings/multiplatform-settings-stub/build.gradle.kts +++ b/module/settings/multiplatform-settings-stub/build.gradle.kts @@ -70,7 +70,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.multiplatformsettings.stub" compileSdk = 35 defaultConfig { diff --git a/module/settings/multiplatform-settings/build.gradle.kts b/module/settings/multiplatform-settings/build.gradle.kts index c23a1db2..12f96410 100644 --- a/module/settings/multiplatform-settings/build.gradle.kts +++ b/module/settings/multiplatform-settings/build.gradle.kts @@ -90,7 +90,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.multiplatformsettings" compileSdk = 35 defaultConfig { diff --git a/module/sqlite/sqlite-room-adapter-stub/build.gradle.kts b/module/sqlite/sqlite-room-adapter-stub/build.gradle.kts index d3c58493..7a600996 100644 --- a/module/sqlite/sqlite-room-adapter-stub/build.gradle.kts +++ b/module/sqlite/sqlite-room-adapter-stub/build.gradle.kts @@ -45,7 +45,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick.adapter.room" + namespace = "ru.bartwell.kick.adapter.room.stub" compileSdk = 35 defaultConfig { diff --git a/module/sqlite/sqlite-runtime-stub/build.gradle.kts b/module/sqlite/sqlite-runtime-stub/build.gradle.kts index cc841b6c..4430ed30 100644 --- a/module/sqlite/sqlite-runtime-stub/build.gradle.kts +++ b/module/sqlite/sqlite-runtime-stub/build.gradle.kts @@ -68,7 +68,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.sqlite.runtime.stub" compileSdk = 35 defaultConfig { diff --git a/module/sqlite/sqlite-runtime/build.gradle.kts b/module/sqlite/sqlite-runtime/build.gradle.kts index 806c7f55..cd1d32e3 100644 --- a/module/sqlite/sqlite-runtime/build.gradle.kts +++ b/module/sqlite/sqlite-runtime/build.gradle.kts @@ -98,7 +98,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.sqlite.runtime" compileSdk = 35 defaultConfig { diff --git a/module/sqlite/sqlite-sqldelight-adapter-stub/build.gradle.kts b/module/sqlite/sqlite-sqldelight-adapter-stub/build.gradle.kts index c0b9acdd..734cf68d 100644 --- a/module/sqlite/sqlite-sqldelight-adapter-stub/build.gradle.kts +++ b/module/sqlite/sqlite-sqldelight-adapter-stub/build.gradle.kts @@ -49,7 +49,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.sqlite.sqldelight.stub" compileSdk = 35 defaultConfig { diff --git a/module/sqlite/sqlite-sqldelight-adapter/build.gradle.kts b/module/sqlite/sqlite-sqldelight-adapter/build.gradle.kts index f13e99c3..0fe83c05 100644 --- a/module/sqlite/sqlite-sqldelight-adapter/build.gradle.kts +++ b/module/sqlite/sqlite-sqldelight-adapter/build.gradle.kts @@ -52,7 +52,7 @@ kotlin { } android { - namespace = "ru.bartwell.kick" + namespace = "ru.bartwell.kick.module.sqlite.sqldelight" compileSdk = 35 defaultConfig { From 26fe2cdf97ca4c4b09c75bcdee1553eefb81a6ab Mon Sep 17 00:00:00 2001 From: xiaqiulei Date: Mon, 13 Apr 2026 15:03:32 +0800 Subject: [PATCH 2/2] Use fully qualified class names in Android manifests --- main-runtime/src/androidMain/AndroidManifest.xml | 2 +- module/logging/logging/src/androidMain/AndroidManifest.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/main-runtime/src/androidMain/AndroidManifest.xml b/main-runtime/src/androidMain/AndroidManifest.xml index 32d51d30..a2a10fc6 100644 --- a/main-runtime/src/androidMain/AndroidManifest.xml +++ b/main-runtime/src/androidMain/AndroidManifest.xml @@ -2,7 +2,7 @@ \ No newline at end of file diff --git a/module/logging/logging/src/androidMain/AndroidManifest.xml b/module/logging/logging/src/androidMain/AndroidManifest.xml index 57b5ba15..1ae75dbc 100644 --- a/module/logging/logging/src/androidMain/AndroidManifest.xml +++ b/module/logging/logging/src/androidMain/AndroidManifest.xml @@ -2,7 +2,7 @@