Justin Tullgren
06/17/2026, 2:08 PMapi(A) in commonMain dependencies. The gradle metadata resolution fails when depending on B in a third location C. C needs to use both A and B types but the A types are not available on the compile path. Any ideas?Marcin Kiżewski
06/17/2026, 2:38 PMgradle-maven-publish-plugin https://github.com/vanniktech/gradle-maven-publish-plugin
◦ It even has article on how to upload to maven central inside its documentation: https://vanniktech.github.io/gradle-maven-publish-plugin/central/
◦ And it's also used inside Kotlin's documentation: https://kotlinlang.org/docs/multiplatform/multiplatform-publish-libraries-to-maven.html
XCFramework:
• There is an article inside Kotlin Multiplatform documentation on how to distribute KMP library as XCFramework on SPM: https://kotlinlang.org/docs/multiplatform/multiplatform-spm-export.htmlMarcin Kiżewski
06/17/2026, 2:53 PMapi() dependency declarations works different in multiplatform projects than in JVM project. It may surfaced because of some custom source sets hierarchies or KGP mismatches.
You can try to migrate to implementation of A in both B and C or if possible provide how are A and B configured.Justin Tullgren
06/17/2026, 2:57 PMmavenLocal {
mavenPom()
}
it works and resolves via maven but i am concerned that enforcing
mavenCentral {
mavenPom()
}
will break a lot of integrations people have.
We know we are messing with the pom to make sure we have a -debug postfix and the pom transitive depends are correctly marked but when it comes to gradle resolution it fails.
The required “Release” only to maven central is a company policy. But we have an internal artifactory repo with both debug and release for testing and debugging and we simply move the release one to maven central.Marcin Kiżewski
06/17/2026, 3:13 PM.module file that could be still used for dependency graph resolution. You can try to disable its autogeneration to force use pom file as a single source of truthMarcin Kiżewski
06/17/2026, 3:16 PM--refresh-dependency flag when messing with external dependencies to force reload cached ones: https://docs.gradle.org/current/userguide/dependency_caching.html#sec:refreshing-dependenciesChrimaeon
06/17/2026, 4:05 PMJustin Tullgren
06/17/2026, 4:06 PM