diff --git a/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt b/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt index 18c71dac188..cdef643be1b 100644 --- a/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt +++ b/compiler/util/src/org/jetbrains/kotlin/utils/PathUtil.kt @@ -53,7 +53,10 @@ object PathUtil { const val KOTLIN_JAVA_STDLIB_JAR = "$KOTLIN_JAVA_STDLIB_NAME.jar" const val KOTLIN_JAVA_STDLIB_SRC_JAR = "$KOTLIN_JAVA_STDLIB_NAME-sources.jar" - const val KOTLIN_JAVA_REFLECT_JAR = "kotlin-reflect.jar" + const val KOTLIN_JAVA_REFLECT_NAME = "kotlin-reflect" + const val KOTLIN_JAVA_REFLECT_JAR = "$KOTLIN_JAVA_REFLECT_NAME.jar" + const val KOTLIN_REFLECT_SRC_JAR = "$KOTLIN_JAVA_REFLECT_NAME-sources.jar" + const val KOTLIN_JAVA_SCRIPT_RUNTIME_JAR = "kotlin-script-runtime.jar" const val KOTLIN_TEST_NAME = "kotlin-test" @@ -64,7 +67,6 @@ object PathUtil { const val KOTLIN_TEST_JS_JAR = "$KOTLIN_TEST_JS_NAME.jar" const val KOTLIN_JAVA_STDLIB_SRC_JAR_OLD = "kotlin-runtime-sources.jar" - const val KOTLIN_REFLECT_SRC_JAR = "kotlin-reflect-sources.jar" const val KOTLIN_COMPILER_NAME = "kotlin-compiler" const val KOTLIN_COMPILER_JAR = "$KOTLIN_COMPILER_NAME.jar" diff --git a/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinJavaModuleConfigurator.kt b/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinJavaModuleConfigurator.kt index 2bb8cfc20f8..5273e4d1b71 100644 --- a/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinJavaModuleConfigurator.kt +++ b/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinJavaModuleConfigurator.kt @@ -72,10 +72,13 @@ open class KotlinJavaModuleConfigurator internal constructor() : KotlinWithLibra get() = JvmPlatform override fun getLibraryJarDescriptors(sdk: Sdk?): List { - var result = listOf(LibraryJarDescriptor.RUNTIME_JAR, - LibraryJarDescriptor.REFLECT_JAR, - LibraryJarDescriptor.RUNTIME_SRC_JAR, - LibraryJarDescriptor.TEST_JAR) + var result = listOf( + LibraryJarDescriptor.RUNTIME_JAR, + LibraryJarDescriptor.RUNTIME_SRC_JAR, + LibraryJarDescriptor.REFLECT_JAR, + LibraryJarDescriptor.REFLECT_SRC_JAR, + LibraryJarDescriptor.TEST_JAR, + LibraryJarDescriptor.TEST_SRC_JAR) val sdkVersion = sdk?.version ?: return result if (sdkVersion.isAtLeast(JavaSdkVersion.JDK_1_7)) { result += listOf(LibraryJarDescriptor.RUNTIME_JDK7_JAR, LibraryJarDescriptor.RUNTIME_JDK7_SOURCES_JAR) diff --git a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java index 6347d51a8cb..58cc72d4c43 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinTest.java @@ -22,9 +22,11 @@ import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.roots.LibraryOrderEntry; import com.intellij.openapi.roots.ModuleRootManager; +import com.intellij.openapi.roots.OrderRootType; import com.intellij.openapi.roots.RootPolicy; import com.intellij.openapi.roots.libraries.Library; import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiJavaModule; import com.intellij.psi.PsiRequiresStatement; import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments; @@ -38,6 +40,7 @@ import org.jetbrains.kotlin.idea.project.PlatformKt; import org.jetbrains.kotlin.idea.util.Java9StructureUtilKt; import org.jetbrains.kotlin.idea.versions.KotlinRuntimeLibraryUtilKt; import org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleKt; +import org.jetbrains.kotlin.utils.PathUtil; import java.io.File; import java.io.IOException; @@ -48,6 +51,18 @@ import java.util.stream.StreamSupport; public class ConfigureKotlinTest extends AbstractConfigureKotlinTest { public void testNewLibrary_copyJar() { doTestOneJavaModule(KotlinWithLibraryConfigurator.FileState.COPY); + + ModuleRootManager.getInstance(getModule()).orderEntries().forEachLibrary(library -> { + assertSameElements( + Arrays.stream(library.getRootProvider().getFiles(OrderRootType.CLASSES)).map(VirtualFile::getName).toArray(), + PathUtil.KOTLIN_JAVA_STDLIB_JAR, PathUtil.KOTLIN_JAVA_REFLECT_JAR, PathUtil.KOTLIN_TEST_JAR); + + assertSameElements( + Arrays.stream(library.getRootProvider().getFiles(OrderRootType.SOURCES)).map(VirtualFile::getName).toArray(), + PathUtil.KOTLIN_JAVA_STDLIB_SRC_JAR, PathUtil.KOTLIN_REFLECT_SRC_JAR, PathUtil.KOTLIN_TEST_SRC_JAR); + + return true; + }); } public void testNewLibrary_doNotCopyJar() {