Revert "Setup JDK roots and initialize JDK_HOME in common core environment"
This reverts commit 05dd4714045494dcc648412t 2ea2179a242991639.
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2017 JetBrains s.r.o.
|
* Copyright 2010-2015 JetBrains s.r.o.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -19,8 +19,8 @@ package org.jetbrains.kotlin.cli.js;
|
|||||||
import com.intellij.openapi.Disposable;
|
import com.intellij.openapi.Disposable;
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import com.intellij.openapi.util.io.FileUtil;
|
import com.intellij.openapi.util.io.FileUtil;
|
||||||
import com.intellij.openapi.util.text.StringUtil;
|
|
||||||
import com.intellij.openapi.vfs.VfsUtilCore;
|
import com.intellij.openapi.vfs.VfsUtilCore;
|
||||||
|
import com.intellij.openapi.util.text.StringUtil;
|
||||||
import com.intellij.openapi.vfs.VirtualFile;
|
import com.intellij.openapi.vfs.VirtualFile;
|
||||||
import com.intellij.util.ExceptionUtil;
|
import com.intellij.util.ExceptionUtil;
|
||||||
import com.intellij.util.SmartList;
|
import com.intellij.util.SmartList;
|
||||||
@@ -46,8 +46,6 @@ import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
|
|||||||
import org.jetbrains.kotlin.cli.jvm.plugins.PluginCliParser;
|
import org.jetbrains.kotlin.cli.jvm.plugins.PluginCliParser;
|
||||||
import org.jetbrains.kotlin.config.*;
|
import org.jetbrains.kotlin.config.*;
|
||||||
import org.jetbrains.kotlin.incremental.components.LookupTracker;
|
import org.jetbrains.kotlin.incremental.components.LookupTracker;
|
||||||
import org.jetbrains.kotlin.incremental.js.IncrementalDataProvider;
|
|
||||||
import org.jetbrains.kotlin.incremental.js.IncrementalResultsConsumer;
|
|
||||||
import org.jetbrains.kotlin.incremental.js.TranslationResultValue;
|
import org.jetbrains.kotlin.incremental.js.TranslationResultValue;
|
||||||
import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS;
|
import org.jetbrains.kotlin.js.analyze.TopDownAnalyzerFacadeForJS;
|
||||||
import org.jetbrains.kotlin.js.analyzer.JsAnalysisResult;
|
import org.jetbrains.kotlin.js.analyzer.JsAnalysisResult;
|
||||||
@@ -58,9 +56,11 @@ import org.jetbrains.kotlin.js.config.SourceMapSourceEmbedding;
|
|||||||
import org.jetbrains.kotlin.js.facade.K2JSTranslator;
|
import org.jetbrains.kotlin.js.facade.K2JSTranslator;
|
||||||
import org.jetbrains.kotlin.js.facade.MainCallParameters;
|
import org.jetbrains.kotlin.js.facade.MainCallParameters;
|
||||||
import org.jetbrains.kotlin.js.facade.TranslationResult;
|
import org.jetbrains.kotlin.js.facade.TranslationResult;
|
||||||
|
import org.jetbrains.kotlin.js.sourceMap.SourceFilePathResolver;
|
||||||
import org.jetbrains.kotlin.js.facade.TranslationUnit;
|
import org.jetbrains.kotlin.js.facade.TranslationUnit;
|
||||||
import org.jetbrains.kotlin.js.facade.exceptions.TranslationException;
|
import org.jetbrains.kotlin.js.facade.exceptions.TranslationException;
|
||||||
import org.jetbrains.kotlin.js.sourceMap.SourceFilePathResolver;
|
import org.jetbrains.kotlin.incremental.js.IncrementalDataProvider;
|
||||||
|
import org.jetbrains.kotlin.incremental.js.IncrementalResultsConsumer;
|
||||||
import org.jetbrains.kotlin.progress.ProgressIndicatorAndCompilationCanceledStatus;
|
import org.jetbrains.kotlin.progress.ProgressIndicatorAndCompilationCanceledStatus;
|
||||||
import org.jetbrains.kotlin.psi.KtFile;
|
import org.jetbrains.kotlin.psi.KtFile;
|
||||||
import org.jetbrains.kotlin.serialization.js.ModuleKind;
|
import org.jetbrains.kotlin.serialization.js.ModuleKind;
|
||||||
@@ -71,6 +71,7 @@ import org.jetbrains.kotlin.utils.StringsKt;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2017 JetBrains s.r.o.
|
* Copyright 2010-2016 JetBrains s.r.o.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -24,23 +24,20 @@ import org.jetbrains.kotlin.cli.common.CLITool
|
|||||||
import org.jetbrains.kotlin.cli.common.ExitCode
|
import org.jetbrains.kotlin.cli.common.ExitCode
|
||||||
import org.jetbrains.kotlin.cli.common.ExitCode.*
|
import org.jetbrains.kotlin.cli.common.ExitCode.*
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
|
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
|
||||||
|
import org.jetbrains.kotlin.cli.common.messages.*
|
||||||
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.*
|
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.*
|
||||||
import org.jetbrains.kotlin.cli.common.messages.FilteringMessageCollector
|
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageUtil
|
|
||||||
import org.jetbrains.kotlin.cli.common.messages.OutputMessageUtil
|
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.CompileEnvironmentUtil
|
import org.jetbrains.kotlin.cli.jvm.compiler.CompileEnvironmentUtil
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler
|
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler
|
||||||
import org.jetbrains.kotlin.cli.jvm.config.JvmClasspathRoot
|
import org.jetbrains.kotlin.cli.jvm.config.*
|
||||||
import org.jetbrains.kotlin.cli.jvm.config.JvmModulePathRoot
|
|
||||||
import org.jetbrains.kotlin.cli.jvm.config.addJavaSourceRoot
|
|
||||||
import org.jetbrains.kotlin.cli.jvm.config.jvmClasspathRoots
|
|
||||||
import org.jetbrains.kotlin.cli.jvm.modules.CoreJrtFileSystem
|
import org.jetbrains.kotlin.cli.jvm.modules.CoreJrtFileSystem
|
||||||
import org.jetbrains.kotlin.cli.jvm.plugins.PluginCliParser
|
import org.jetbrains.kotlin.cli.jvm.plugins.PluginCliParser
|
||||||
import org.jetbrains.kotlin.cli.jvm.repl.ReplFromTerminal
|
import org.jetbrains.kotlin.cli.jvm.repl.ReplFromTerminal
|
||||||
import org.jetbrains.kotlin.codegen.CompilationException
|
import org.jetbrains.kotlin.codegen.CompilationException
|
||||||
|
import org.jetbrains.kotlin.compiler.plugin.CliOptionProcessingException
|
||||||
|
import org.jetbrains.kotlin.compiler.plugin.PluginCliOptionProcessingException
|
||||||
|
import org.jetbrains.kotlin.compiler.plugin.cliPluginUsageString
|
||||||
import org.jetbrains.kotlin.config.*
|
import org.jetbrains.kotlin.config.*
|
||||||
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
import org.jetbrains.kotlin.incremental.components.LookupTracker
|
||||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||||
@@ -68,8 +65,7 @@ class K2JVMCompiler : CLICompiler<K2JVMCompilerArguments>() {
|
|||||||
PerformanceCounter.setTimeCounterEnabled(arguments.reportPerf)
|
PerformanceCounter.setTimeCounterEnabled(arguments.reportPerf)
|
||||||
|
|
||||||
val messageCollector = configuration.getNotNull(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY)
|
val messageCollector = configuration.getNotNull(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY)
|
||||||
|
setupJdkClasspathRoots(arguments, configuration, messageCollector).let {
|
||||||
configureJdkHome(arguments, configuration, messageCollector).let {
|
|
||||||
if (it != OK) return it
|
if (it != OK) return it
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -402,31 +398,42 @@ class K2JVMCompiler : CLICompiler<K2JVMCompilerArguments>() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun configureJdkHome(arguments: K2JVMCompilerArguments, configuration: CompilerConfiguration, messageCollector: MessageCollector): ExitCode {
|
private fun setupJdkClasspathRoots(arguments: K2JVMCompilerArguments, configuration: CompilerConfiguration, messageCollector: MessageCollector): ExitCode {
|
||||||
if (arguments.noJdk) {
|
try {
|
||||||
configuration.put(JVMConfigurationKeys.NO_JDK, true)
|
if (arguments.noJdk) {
|
||||||
|
if (arguments.jdkHome != null) {
|
||||||
if (arguments.jdkHome != null) {
|
messageCollector.report(STRONG_WARNING, "The '-jdk-home' option is ignored because '-no-jdk' is specified")
|
||||||
messageCollector.report(STRONG_WARNING, "The '-jdk-home' option is ignored because '-no-jdk' is specified")
|
}
|
||||||
}
|
return OK
|
||||||
return OK
|
|
||||||
}
|
|
||||||
|
|
||||||
if (arguments.jdkHome != null) {
|
|
||||||
val jdkHome = File(arguments.jdkHome)
|
|
||||||
if (!jdkHome.exists()) {
|
|
||||||
messageCollector.report(ERROR, "JDK home directory does not exist: $jdkHome")
|
|
||||||
return COMPILATION_ERROR
|
|
||||||
}
|
}
|
||||||
|
|
||||||
messageCollector.report(LOGGING, "Using JDK home directory $jdkHome")
|
val (jdkHome, classesRoots) = if (arguments.jdkHome != null) {
|
||||||
|
val jdkHome = File(arguments.jdkHome)
|
||||||
|
if (!jdkHome.exists()) {
|
||||||
|
messageCollector.report(ERROR, "JDK home directory does not exist: $jdkHome")
|
||||||
|
return COMPILATION_ERROR
|
||||||
|
}
|
||||||
|
messageCollector.report(LOGGING, "Using JDK home directory $jdkHome")
|
||||||
|
jdkHome to PathUtil.getJdkClassesRoots(jdkHome)
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
File(System.getProperty("java.home")) to PathUtil.getJdkClassesRootsFromCurrentJre()
|
||||||
|
}
|
||||||
|
|
||||||
configuration.put(JVMConfigurationKeys.JDK_HOME, jdkHome)
|
configuration.put(JVMConfigurationKeys.JDK_HOME, jdkHome)
|
||||||
}
|
|
||||||
else {
|
|
||||||
configuration.put(JVMConfigurationKeys.JDK_HOME, PathUtil.getJavaHome())
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (!CoreJrtFileSystem.isModularJdk(jdkHome)) {
|
||||||
|
configuration.addJvmClasspathRoots(classesRoots)
|
||||||
|
if (classesRoots.isEmpty()) {
|
||||||
|
messageCollector.report(ERROR, "No class roots are found in the JDK path: $jdkHome")
|
||||||
|
return COMPILATION_ERROR
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (t: Throwable) {
|
||||||
|
MessageCollectorUtil.reportException(messageCollector, t)
|
||||||
|
return INTERNAL_ERROR
|
||||||
|
}
|
||||||
return OK
|
return OK
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2017 JetBrains s.r.o.
|
* Copyright 2010-2015 JetBrains s.r.o.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -23,7 +23,6 @@ public enum EnvironmentConfigFiles {
|
|||||||
JVM_CONFIG_FILES("extensions/common.xml", "extensions/kotlin2jvm.xml"),
|
JVM_CONFIG_FILES("extensions/common.xml", "extensions/kotlin2jvm.xml"),
|
||||||
JS_CONFIG_FILES("extensions/common.xml", "extensions/kotlin2js.xml"),
|
JS_CONFIG_FILES("extensions/common.xml", "extensions/kotlin2js.xml"),
|
||||||
NATIVE_CONFIG_FILES("extensions/common.xml"),
|
NATIVE_CONFIG_FILES("extensions/common.xml"),
|
||||||
METADATA_CONFIG_FILES("extensions/common.xml"),
|
|
||||||
EMPTY();
|
EMPTY();
|
||||||
|
|
||||||
private final List<String> files;
|
private final List<String> files;
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ class KotlinCoreEnvironment private constructor(
|
|||||||
private val classpathRootsResolver: ClasspathRootsResolver
|
private val classpathRootsResolver: ClasspathRootsResolver
|
||||||
private val initialRoots: List<JavaRoot>
|
private val initialRoots: List<JavaRoot>
|
||||||
|
|
||||||
val configuration: CompilerConfiguration = configuration.apply { setupJdkClasspathRoots(configFiles) }.copy()
|
val configuration: CompilerConfiguration = configuration.copy()
|
||||||
|
|
||||||
init {
|
init {
|
||||||
PersistentFSConstants.setMaxIntellisenseFileSize(FileUtilRt.LARGE_FOR_CONTENT_LOADING)
|
PersistentFSConstants.setMaxIntellisenseFileSize(FileUtilRt.LARGE_FOR_CONTENT_LOADING)
|
||||||
@@ -176,7 +176,6 @@ class KotlinCoreEnvironment private constructor(
|
|||||||
project.registerService(ModuleVisibilityManager::class.java, CliModuleVisibilityManagerImpl(configFiles == EnvironmentConfigFiles.JVM_CONFIG_FILES))
|
project.registerService(ModuleVisibilityManager::class.java, CliModuleVisibilityManagerImpl(configFiles == EnvironmentConfigFiles.JVM_CONFIG_FILES))
|
||||||
|
|
||||||
registerProjectServicesForCLI(projectEnvironment)
|
registerProjectServicesForCLI(projectEnvironment)
|
||||||
|
|
||||||
val messageCollector = configuration.get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY)
|
val messageCollector = configuration.get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY)
|
||||||
registerProjectServices(projectEnvironment, messageCollector)
|
registerProjectServices(projectEnvironment, messageCollector)
|
||||||
|
|
||||||
@@ -547,32 +546,5 @@ class KotlinCoreEnvironment private constructor(
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun CompilerConfiguration.setupJdkClasspathRoots(configFiles: EnvironmentConfigFiles) {
|
|
||||||
if (getBoolean(JVMConfigurationKeys.NO_JDK)) return
|
|
||||||
|
|
||||||
val jvmTarget = configFiles == EnvironmentConfigFiles.JVM_CONFIG_FILES
|
|
||||||
if (!jvmTarget) return
|
|
||||||
|
|
||||||
val jdkHome = get(JVMConfigurationKeys.JDK_HOME)
|
|
||||||
val (javaRoot, classesRoots) = if (jdkHome == null) {
|
|
||||||
val javaHome = PathUtil.getJavaHome()
|
|
||||||
put(JVMConfigurationKeys.JDK_HOME, javaHome)
|
|
||||||
|
|
||||||
javaHome to PathUtil.getJdkClassesRootsFromCurrentJre()
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
jdkHome to PathUtil.getJdkClassesRoots(jdkHome)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!CoreJrtFileSystem.isModularJdk(javaRoot)) {
|
|
||||||
addJvmClasspathRoots(classesRoots)
|
|
||||||
if (classesRoots.isEmpty()) {
|
|
||||||
val messageCollector = get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY)
|
|
||||||
messageCollector?.report(ERROR, "No class roots are found in the JDK path: $jdkHome")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2017 JetBrains s.r.o.
|
* Copyright 2010-2016 JetBrains s.r.o.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -71,7 +71,7 @@ class K2MetadataCompiler : CLICompiler<K2MetadataCompilerArguments>() {
|
|||||||
configuration.put(CLIConfigurationKeys.METADATA_DESTINATION_DIRECTORY, File(destination))
|
configuration.put(CLIConfigurationKeys.METADATA_DESTINATION_DIRECTORY, File(destination))
|
||||||
}
|
}
|
||||||
|
|
||||||
val environment = KotlinCoreEnvironment.createForProduction(rootDisposable, configuration, EnvironmentConfigFiles.METADATA_CONFIG_FILES)
|
val environment = KotlinCoreEnvironment.createForProduction(rootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
|
||||||
|
|
||||||
if (environment.getSourceFiles().isEmpty()) {
|
if (environment.getSourceFiles().isEmpty()) {
|
||||||
if (arguments.version) {
|
if (arguments.version) {
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ open class KotlinJvmReplService(
|
|||||||
) : ReplCompileAction, ReplCheckAction, CreateReplStageStateAction {
|
) : ReplCompileAction, ReplCheckAction, CreateReplStageStateAction {
|
||||||
|
|
||||||
protected val configuration = CompilerConfiguration().apply {
|
protected val configuration = CompilerConfiguration().apply {
|
||||||
|
addJvmClasspathRoots(PathUtil.getJdkClassesRootsFromCurrentJre())
|
||||||
addJvmClasspathRoots(PathUtil.kotlinPathsForCompiler.let { listOf(it.stdlibPath, it.reflectPath, it.scriptRuntimePath) })
|
addJvmClasspathRoots(PathUtil.kotlinPathsForCompiler.let { listOf(it.stdlibPath, it.reflectPath, it.scriptRuntimePath) })
|
||||||
addJvmClasspathRoots(templateClasspath)
|
addJvmClasspathRoots(templateClasspath)
|
||||||
put(CommonConfigurationKeys.MODULE_NAME, "kotlin-script")
|
put(CommonConfigurationKeys.MODULE_NAME, "kotlin-script")
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2017 JetBrains s.r.o.
|
* Copyright 2010-2016 JetBrains s.r.o.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -42,9 +42,6 @@ public class JVMConfigurationKeys {
|
|||||||
public static final CompilerConfigurationKey<File> JDK_HOME =
|
public static final CompilerConfigurationKey<File> JDK_HOME =
|
||||||
CompilerConfigurationKey.create("jdk home");
|
CompilerConfigurationKey.create("jdk home");
|
||||||
|
|
||||||
public static final CompilerConfigurationKey<Boolean> NO_JDK =
|
|
||||||
CompilerConfigurationKey.create("no jdk");
|
|
||||||
|
|
||||||
public static final CompilerConfigurationKey<List<KotlinScriptDefinition>> SCRIPT_DEFINITIONS =
|
public static final CompilerConfigurationKey<List<KotlinScriptDefinition>> SCRIPT_DEFINITIONS =
|
||||||
CompilerConfigurationKey.create("script definitions");
|
CompilerConfigurationKey.create("script definitions");
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2017 JetBrains s.r.o.
|
* Copyright 2010-2015 JetBrains s.r.o.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -488,20 +488,17 @@ public class KotlinTestUtils {
|
|||||||
JvmContentRootsKt.addJavaSourceRoots(configuration, javaSource);
|
JvmContentRootsKt.addJavaSourceRoots(configuration, javaSource);
|
||||||
if (jdkKind == TestJdkKind.MOCK_JDK) {
|
if (jdkKind == TestJdkKind.MOCK_JDK) {
|
||||||
JvmContentRootsKt.addJvmClasspathRoot(configuration, findMockJdkRtJar());
|
JvmContentRootsKt.addJvmClasspathRoot(configuration, findMockJdkRtJar());
|
||||||
configuration.put(JVMConfigurationKeys.NO_JDK, true);
|
|
||||||
}
|
}
|
||||||
else if (jdkKind == TestJdkKind.MODIFIED_MOCK_JDK) {
|
else if (jdkKind == TestJdkKind.MODIFIED_MOCK_JDK) {
|
||||||
JvmContentRootsKt.addJvmClasspathRoot(configuration, findMockJdkRtModified());
|
JvmContentRootsKt.addJvmClasspathRoot(configuration, findMockJdkRtModified());
|
||||||
configuration.put(JVMConfigurationKeys.NO_JDK, true);
|
|
||||||
}
|
}
|
||||||
else if (jdkKind == TestJdkKind.ANDROID_API) {
|
else if (jdkKind == TestJdkKind.ANDROID_API) {
|
||||||
JvmContentRootsKt.addJvmClasspathRoot(configuration, findAndroidApiJar());
|
JvmContentRootsKt.addJvmClasspathRoot(configuration, findAndroidApiJar());
|
||||||
configuration.put(JVMConfigurationKeys.NO_JDK, true);
|
|
||||||
}
|
}
|
||||||
else if (jdkKind == TestJdkKind.FULL_JDK_6) {
|
else if (jdkKind == TestJdkKind.FULL_JDK_6) {
|
||||||
String jdk6 = System.getenv("JDK_16");
|
String jdk6 = System.getenv("JDK_16");
|
||||||
assert jdk6 != null : "Environment variable JDK_16 is not set";
|
assert jdk6 != null : "Environment variable JDK_16 is not set";
|
||||||
configuration.put(JVMConfigurationKeys.JDK_HOME, new File(jdk6));
|
JvmContentRootsKt.addJvmClasspathRoots(configuration, PathUtil.getJdkClassesRootsFromJre(getJreHome(jdk6)));
|
||||||
}
|
}
|
||||||
else if (jdkKind == TestJdkKind.FULL_JDK_9) {
|
else if (jdkKind == TestJdkKind.FULL_JDK_9) {
|
||||||
File home = getJdk9HomeIfPossible();
|
File home = getJdk9HomeIfPossible();
|
||||||
@@ -512,6 +509,9 @@ public class KotlinTestUtils {
|
|||||||
else if (SystemInfo.IS_AT_LEAST_JAVA9) {
|
else if (SystemInfo.IS_AT_LEAST_JAVA9) {
|
||||||
configuration.put(JVMConfigurationKeys.JDK_HOME, new File(System.getProperty("java.home")));
|
configuration.put(JVMConfigurationKeys.JDK_HOME, new File(System.getProperty("java.home")));
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
JvmContentRootsKt.addJvmClasspathRoots(configuration, PathUtil.getJdkClassesRootsFromCurrentJre());
|
||||||
|
}
|
||||||
|
|
||||||
if (configurationKind.getWithRuntime()) {
|
if (configurationKind.getWithRuntime()) {
|
||||||
JvmContentRootsKt.addJvmClasspathRoot(configuration, ForTestCompileRuntime.runtimeJarForTests());
|
JvmContentRootsKt.addJvmClasspathRoot(configuration, ForTestCompileRuntime.runtimeJarForTests());
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2017 JetBrains s.r.o.
|
* Copyright 2010-2016 JetBrains s.r.o.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -121,8 +121,4 @@ object PathUtil {
|
|||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun getJdkClassesRoots(jdkHome: File): List<File> =
|
fun getJdkClassesRoots(jdkHome: File): List<File> =
|
||||||
JavaSdkUtil.getJdkClassesRoots(jdkHome, false)
|
JavaSdkUtil.getJdkClassesRoots(jdkHome, false)
|
||||||
|
|
||||||
@JvmStatic
|
|
||||||
fun getJavaHome(): File =
|
|
||||||
File(System.getProperty("java.home"))
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user