Apply code review fixes for JKLIB dependency support
diff --git a/compiler/jklib.tests/testFixtures/org/jetbrains/kotlin/jklib/test/irText/JKlibJavaSourceConfigurator.kt b/compiler/jklib.tests/testFixtures/org/jetbrains/kotlin/jklib/test/irText/JKlibJavaSourceConfigurator.kt
index f4525ac..afbc8e0 100644
--- a/compiler/jklib.tests/testFixtures/org/jetbrains/kotlin/jklib/test/irText/JKlibJavaSourceConfigurator.kt
+++ b/compiler/jklib.tests/testFixtures/org/jetbrains/kotlin/jklib/test/irText/JKlibJavaSourceConfigurator.kt
@@ -23,6 +23,7 @@
 import org.jetbrains.kotlin.test.services.javaFiles
 import org.jetbrains.kotlin.test.services.moduleStructure
 import org.jetbrains.kotlin.test.services.sourceFileProvider
+import org.jetbrains.kotlin.test.services.temporaryDirectoryManager
 import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurator
 import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
 import org.jetbrains.kotlin.test.util.KtTestUtil
@@ -40,22 +41,6 @@
     override fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule) {
         if (testServices.moduleStructure.modules.none { it.javaFiles.isNotEmpty() }) return
 
-        val registeredDirectives = module.directives
-        val jdkKind = JvmEnvironmentConfigurator.extractJdkKind(registeredDirectives)
-        JvmEnvironmentConfigurator.getJdkHome(jdkKind)?.let { configuration.put(JVMConfigurationKeys.JDK_HOME, it) }
-
-        when (jdkKind) {
-            TestJdkKind.MOCK_JDK, TestJdkKind.MODIFIED_MOCK_JDK -> {
-                configuration.put(JVMConfigurationKeys.NO_JDK, true)
-                configuration.addJvmClasspathRoot(KtTestUtil.findMockJdkRtJar())
-            }
-            else -> {
-                JvmEnvironmentConfigurator.getJdkClasspathRoot(jdkKind)?.let { configuration.addJvmClasspathRoot(it) }
-            }
-        }
-
-        configuration.configureJdkClasspathRoots()
-
         // Compile all dependencies (Kotlin or Java) to JVM Jars and add them to classpath
         val compiledJars = mutableMapOf<TestModule, File>()
         for (dependency in module.allDependencies) {
@@ -125,7 +110,25 @@
             compiledJars[dependency.dependencyModule]?.let { classpath += it.absolutePath }
         }
 
-        val compiledJar = if (kotlinFiles.isNotEmpty()) {
+        val compiledJar = if (kotlinFiles.isNotEmpty() && javaFiles.isNotEmpty()) {
+            val mixedSourcesDir = testServices.temporaryDirectoryManager.getOrCreateTempDirectory("mixed-sources-${module.name}")
+            
+            val kotlinDir = testServices.sourceFileProvider.getKotlinSourceDirectoryForModule(module)
+            kotlinFiles.forEach { testServices.sourceFileProvider.getOrCreateRealFileForSourceFile(it) }
+            kotlinDir.listFiles()?.forEach { it.copyRecursively(File(mixedSourcesDir, it.name), overwrite = true) }
+
+            val javaDir = testServices.sourceFileProvider.getJavaSourceDirectoryForModule(module)
+            javaFiles.forEach { testServices.sourceFileProvider.getOrCreateRealFileForSourceFile(it) }
+            javaDir.listFiles()?.forEach { it.copyRecursively(File(mixedSourcesDir, it.name), overwrite = true) }
+
+            MockLibraryUtil.compileJvmLibraryToJar(
+                mixedSourcesDir.path,
+                "${module.name}-jvm-binaries",
+                extraOptions = listOf("-no-stdlib"),
+                extraClasspath = classpath + ForTestCompileRuntime.runtimeJarForTests().absolutePath,
+                useJava11 = true
+            )
+        } else if (kotlinFiles.isNotEmpty()) {
             val kotlinDir = testServices.sourceFileProvider.getKotlinSourceDirectoryForModule(module)
             kotlinFiles.forEach { testServices.sourceFileProvider.getOrCreateRealFileForSourceFile(it) }
             MockLibraryUtil.compileJvmLibraryToJar(
@@ -141,7 +144,8 @@
                 javaDir.path,
                 "${module.name}-java-binaries",
                 extraClasspath = classpath,
-                assertions = testServices.assertions
+                assertions = testServices.assertions,
+                useJava11 = true
             )
         }
         compiledJars[module] = compiledJar
diff --git a/compiler/jklib.tests/testFixtures/org/jetbrains/kotlin/jklib/test/irText/JKlibSourceRootConfigurator.kt b/compiler/jklib.tests/testFixtures/org/jetbrains/kotlin/jklib/test/irText/JKlibSourceRootConfigurator.kt
index 8d98c32..c085c9d 100644
--- a/compiler/jklib.tests/testFixtures/org/jetbrains/kotlin/jklib/test/irText/JKlibSourceRootConfigurator.kt
+++ b/compiler/jklib.tests/testFixtures/org/jetbrains/kotlin/jklib/test/irText/JKlibSourceRootConfigurator.kt
@@ -21,7 +21,7 @@
         configuration.addSourcesForDependsOnClosure(module, testServices)
 
         val stdlibKlib = System.getProperty("kotlin.stdlib.jklib.for.test")
-            ?: error("kotlin.stdlib.jvm.ir.klib system property is not set")
+            ?: error("kotlin.stdlib.jklib.for.test system property is not set")
         configuration.klibPaths += stdlibKlib
 
         val tempDir = testServices.temporaryDirectoryManager.getOrCreateTempDirectory("klib-output")