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();
+}