Add sources for 'reflect' and 'test' libs during JPS config (KT-20956)
#KT-20956 Fixed
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -72,10 +72,13 @@ open class KotlinJavaModuleConfigurator internal constructor() : KotlinWithLibra
|
||||
get() = JvmPlatform
|
||||
|
||||
override fun getLibraryJarDescriptors(sdk: Sdk?): List<LibraryJarDescriptor> {
|
||||
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)
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user