Add a dependency from all klib-originated modules to the main module

This is required, for instance, to properly resolve supertypes across
the modules.

Issue #KT-37832 Fixed
This commit is contained in:
Sergey Igushkin
2020-03-27 16:44:40 +03:00
parent 8979b98fc0
commit 67f4b7e2b0
6 changed files with 43 additions and 7 deletions
@@ -69,6 +69,11 @@ class KlibBasedMppIT : BaseGradleIT() {
private fun testBuildWithDependency(configureDependency: Project.() -> Unit) = with(Project("common-klib-lib-and-app")) {
embedProject(Project("common-klib-lib-and-app"), renameTo = dependencyModuleName)
projectDir.resolve("$dependencyModuleName/src/commonMain/kotlin/TestKt37832.kt").writeText(
"package com.example.test.kt37832" + "\n" + "class MyException : RuntimeException()"
)
gradleBuildScript().modify(::transformBuildScriptWithPluginsDsl)
projectDir.resolve(dependencyModuleName + "/src").walkTopDown().filter { it.extension == "kt" }.forEach { file ->
@@ -15,4 +15,7 @@ fun libCommonMainInternalFun() = Unit
fun main() {
}
}
/** Test KT-37832 */
class MyCustomException : RuntimeException()
@@ -5,6 +5,9 @@ actual class LibCommonMainExpect : LibCommonMainIface {
println("actualized in jvmAndJsMain")
libCommonMainTopLevelFun()
libCommonMainInternalFun()
/** Test KT-37832 */
throw MyCustomException()
}
fun additionalFunInJvmAndJsActual() {
@@ -13,6 +13,9 @@ actual class LibCommonMainExpect : LibCommonMainIface {
libCommonMainTopLevelFun()
println(CArrayPointer::class)
libCommonMainInternalFun()
/** Test KT-37832 */
throw MyCustomException()
}
fun additionalFunInLinuxActual() {