diff --git a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java index 39a4728acb3..697994f07c6 100644 --- a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java +++ b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTest.java @@ -431,6 +431,20 @@ public class KotlinJpsBuildTest extends AbstractKotlinJpsBuildTestCase { result.assertSuccessful(); } + public void testDependencyToOldKotlinLib() throws IOException { + initProject(); + + File libraryJar = MockLibraryUtil.compileLibraryToJar( + workDir.getAbsolutePath() + File.separator + "oldModuleLib/src", "module-lib", false); + + addDependency(JpsJavaDependencyScope.COMPILE, Lists.newArrayList(findModule("module")), false, "module-lib", libraryJar); + + addKotlinRuntimeDependency(); + + BuildResult result = makeAll(); + result.assertSuccessful(); + } + private void createKotlinJavaScriptLibraryArchive() { File jarFile = new File(workDir, KOTLIN_JS_LIBRARY_JAR); try { diff --git a/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/kotlinProject.ipr b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/kotlinProject.ipr new file mode 100644 index 00000000000..d324e31411d --- /dev/null +++ b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/kotlinProject.ipr @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/module/module.iml b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/module/module.iml new file mode 100644 index 00000000000..f8d6a06273d --- /dev/null +++ b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/module/module.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/module/src/module/A.kt b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/module/src/module/A.kt new file mode 100644 index 00000000000..b57a44e4536 --- /dev/null +++ b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/module/src/module/A.kt @@ -0,0 +1,6 @@ +package module + +public trait A { + fun oldFun(): Int = 1 + fun newFun(): Int = 42 +} diff --git a/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/module/src/module/B.kt b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/module/src/module/B.kt new file mode 100644 index 00000000000..80f01b0be85 --- /dev/null +++ b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/module/src/module/B.kt @@ -0,0 +1,9 @@ +package module + +public class B(private val c: C) { + fun foo() { + val a = c.getA() + a.oldFun() + a.newFun() + } +} diff --git a/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/module/src/module/C.java b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/module/src/module/C.java new file mode 100644 index 00000000000..0716f11da8f --- /dev/null +++ b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/module/src/module/C.java @@ -0,0 +1,5 @@ +package module; + +public interface C { + A getA(); +} diff --git a/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/oldModuleLib/src/module/A.kt b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/oldModuleLib/src/module/A.kt new file mode 100644 index 00000000000..0a6c17d7a78 --- /dev/null +++ b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/oldModuleLib/src/module/A.kt @@ -0,0 +1,5 @@ +package module + +public trait A { + fun oldFun(): Int = 1 +} diff --git a/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/oldModuleLib/src/module/B.kt b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/oldModuleLib/src/module/B.kt new file mode 100644 index 00000000000..74aad6e1f3f --- /dev/null +++ b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/oldModuleLib/src/module/B.kt @@ -0,0 +1,8 @@ +package module + +public class B(private val c: C) { + fun foo() { + val a = c.getA() + a.oldFun() + } +} diff --git a/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/oldModuleLib/src/module/C.java b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/oldModuleLib/src/module/C.java new file mode 100644 index 00000000000..0716f11da8f --- /dev/null +++ b/jps/jps-plugin/testData/general/DependencyToOldKotlinLib/oldModuleLib/src/module/C.java @@ -0,0 +1,5 @@ +package module; + +public interface C { + A getA(); +}