I don't understand this error, I add the dependenc...
# compose
e
I don't understand this error, I add the dependencies, the error message isn't super intuitive
Copy code
Exception in thread "main" kotlin.NotImplementedError: Implemented only in JetBrains fork.
Please use `org.jetbrains.compose.ui:ui-util` package instead.
r
Share your common dependencies as code, the problem is related to use androidx dependency in CMP project, so you need to use jetbrains androidx fork in common, not only in desktop.
e
here what I have
Copy code
val commonMain by getting {
            dependencies {
                // keep-sorted start block=yes
                implementation(libs.compose.foundation)
                implementation(libs.compose.runtime)
                implementation(libs.compose.ui)
                implementation(libs.kotlinx.immutable.collections)
                implementation(libs.kotlinx.serialization.json)
                implementation(libs.compose.ui.tooling)
                // keep-sorted end
            }
        }
r
Ok, share your libs version toml too because you use it 😂😅
😃 1
😅 1
e
sorry for the large block
Copy code
compose-bom = "2025.11.01"
compose-jetbrains = "1.9.3"

compose-desktop-currentOs = { module = "org.jetbrains.compose.desktop:desktop", version.ref = "compose-jetbrains" }
compose-lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" }
compose-material = { group = "androidx.compose.material", name="material" }
compose-material3 = { group = "androidx.compose.material3", name="material3" }
compose-material3-adaptive = { group = "androidx.compose.material3.adaptive", name = "adaptive" }
compose-material3-windowsizeclass = { group = "androidx.compose.material3", name="material3-window-size-class" }
compose-mdc = { group = "com.google.android.material", name="compose-theme-adapter", version.ref = "compose-theme-adapter" }
compose-runtime = { group = "androidx.compose.runtime", name="runtime" }
compose-runtime-livedata = { group = "androidx.compose.runtime", name="runtime-livedata" }
compose-runtime-saveable = { group = "androidx.compose.runtime", name="runtime-saveable" }
compose-runtime-tracing = { group = "androidx.compose.runtime", name="runtime-tracing" }
compose-ui = { group = "androidx.compose.ui", name="ui" }
compose-ui-geometry = { group = "androidx.compose.ui", name="ui-geometry" }
compose-ui-graphics = { group = "androidx.compose.ui", name="ui-graphics" }
compose-ui-test-android = { group = "androidx.compose.ui", name="ui-test-android" }
compose-ui-test-junit4 = { group = "androidx.compose.ui", name="ui-test-junit4" }
compose-ui-test-junit4-accessibility = { group = "androidx.compose.ui", name="ui-test-junit4-accessibility" }
compose-ui-test-manifest = { group = "androidx.compose.ui", name="ui-test-manifest" }
compose-ui-text = { group = "androidx.compose.ui", name="ui-text" }
compose-ui-tooling = { group = "androidx.compose.ui", name="ui-tooling" }
compose-ui-unit = { group = "androidx.compose.ui", name="ui-unit" }
compose-ui-util = { group = "androidx.compose.ui", name="ui-util" }
I have a bunch of kmp modiles and a desptop app, some modules are used by android mainly built for android, they have
androidx.compose.ui:ui
dependencies, not jetbrain. I added jetbrain fork in the desktop app module (common) but still failing. Do I need to add the jetbrain fork in every app dependencies as well?
j
Probably yes
e
is it valid to have
androidx.compose.ui:ui
in androidMain and
org.jetbrains.compose.ui:ui
in commotMain from the same moduile?
j
I don't see what the value of that would be, and I'd expect conflicts at compile time, but you can try it and see I guess
e
ok make sense, thanks for the help!
👍 1