diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/resolveCinteropDependency.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/resolveCinteropDependency.kt index 59fd573dd6a..cbfd4c35b3f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/resolveCinteropDependency.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/plugin/ide/dependencyResolvers/resolveCinteropDependency.kt @@ -32,12 +32,14 @@ private fun createCinteropLibraryDependency(project: Project, libraryFile: java. return null } + val (group, module) = cinteropGroupAndModule(library) + return IdeaKotlinResolvedBinaryDependency( binaryType = IdeaKotlinBinaryDependency.KOTLIN_COMPILE_BINARY_TYPE, classpath = IdeaKotlinClasspath(libraryFile), coordinates = IdeaKotlinBinaryCoordinates( - group = project.group.toString(), - module = library.moduleDisplayName, + group = group, + module = module, version = null, // TODO (kirpichenkov): if/when used for published cinterops, should be set up correctly sourceSetName = library.nativeTargets.singleOrNull() ?: library.nativeTargets.joinToString(prefix = "(", postfix = ")") ), @@ -45,3 +47,13 @@ private fun createCinteropLibraryDependency(project: Project, libraryFile: java. klibExtra = KlibExtra(library) } } + +private fun cinteropGroupAndModule(library: KotlinLibrary): Pair { + val nameParts = library.uniqueName.split(":") + + return when (nameParts.size) { + 0 -> "" to "" + 1 -> "" to nameParts.single() + else -> nameParts[0] to nameParts[1] + } +}