Repository: JetBrains/compose-multiplatform
File: gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/RuntimeLibrariesCompatibilityCheck.kt (Kotlin)

Code before:
    protected abstract val providers: ProviderFactory

    @get:Input
    abstract val expectedVersion: Property<String>

    @get:Input
    abstract val runtimeDependencies: SetProperty<ResolvedComponentResult>

    init {
        onlyIf {
            !ComposeProperties.disableLibraryCompatibilityCheck(providers).get()
        }
    }

    @TaskAction
    fun run() {
        val expectedRuntimeVersion = expectedVersion.get()
        val deps = listOf(FOUNDATION_DEP, UI_DEP)
        runtimeDependencies.get().forEach { component ->
            component.moduleVersion?.let { lib ->
                val depName = lib.group + ":" + lib.name
                if (depName in deps) {
                    val actualRuntimeVersion = lib.version
                    if (actualRuntimeVersion != expectedRuntimeVersion) {
                        logger.warn(
                            "w: runtime dependency version mismatch!\n\t" +
                                    "expected: '$depName:$expectedRuntimeVersion', " +
                                    "actual: '$depName:$actualRuntimeVersion'"
                        )
                    }
                }
            }
        }
    }
}

Review comment (bug):
Let's write more details here. Something like
```kt
w: Compose Multiplatform runtime dependency '$depName' version didn't match with plugin version.
    expected: $expectedRuntimeVersion
    actual: $actualRuntimeVersion
This may lead to compilation errors or unexpected behavior at runtime.

Such version mismatch might be caused by dependency constrains in one of the included libraries.
You can inspect resulted dependencies tree via `./gradlew :$THIS_PROJECT:dependencies  --configuration $THIS_CONFIGURATION`. See more details in Gradle documentation: https://docs.gradle.org/current/userguide/viewing_debugging_dependencies.html#sec:listing-dependencies

Please update Compose Multiplatform gradle plugin to $actualRuntimeVersion or align dependencies' versions to match the current plugin version.
```

Code after:
        )
    }

    @get:Inject
    protected abstract val providers: ProviderFactory

    @get:Input
    abstract val expectedVersion: Property<String>

    @get:Input
    abstract val projectPath: Property<String>

    @get:Input
    abstract val configurationName: Property<String>

    @get:Input
    abstract val runtimeDependencies: SetProperty<ResolvedComponentResult>

    init {
        onlyIf {
            !ComposeProperties.disableLibraryCompatibilityCheck(providers).get()
        }
    }

    @TaskAction
    fun run() {
        val expectedRuntimeVersion = expectedVersion.get()
        val foundLibs = runtimeDependencies.get().filter { component ->
            component.moduleVersion?.let { lib -> lib.group + ":" + lib.name } in librariesForCheck
        }
        val problems = foundLibs.mapNotNull { component ->
            val module = component.moduleVersion ?: return@mapNotNull null
            if (module.version == expectedRuntimeVersion) return@mapNotNull null
            ProblemLibrary(module.group + ":" + module.name, module.version)
        }

        if (problems.isNotEmpty()) {
            logger.warn(
                getMessage(
                    projectPath.get(),
                    configurationName.get(),
                    problems,
                    expectedRuntimeVersion
                )
            )
        }
    }

    private data class ProblemLibrary(val name: String, val version: String)

    private fun getMessage(