diff --git a/build-tools/core/src/org/jetbrains/jet/buildtools/core/BytecodeCompiler.java b/build-tools/core/src/org/jetbrains/jet/buildtools/core/BytecodeCompiler.java index 1eeceaf8b32..3045f3b454e 100644 --- a/build-tools/core/src/org/jetbrains/jet/buildtools/core/BytecodeCompiler.java +++ b/build-tools/core/src/org/jetbrains/jet/buildtools/core/BytecodeCompiler.java @@ -23,7 +23,6 @@ import org.jetbrains.jet.compiler.CompileEnvironmentException; import org.jetbrains.jet.compiler.CompilerPlugin; import org.jetbrains.jet.lang.resolve.java.CompilerDependencies; import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; -import org.jetbrains.jet.utils.PathUtil; import java.io.File; import java.util.ArrayList; @@ -50,23 +49,11 @@ public class BytecodeCompiler { * @return compile environment instance */ private CompileEnvironment env( String stdlib, String[] classpath ) { - CompilerSpecialMode compilerSpecialMode = CompilerSpecialMode.REGULAR; - File runtimeJar; - if (compilerSpecialMode.includeKotlinRuntime()) { - if (( stdlib != null ) && ( stdlib.trim().length() > 0 )) { - runtimeJar = new File( stdlib ); - } - else { - runtimeJar = PathUtil.getDefaultRuntimePath(); - } + CompileEnvironment env = new CompileEnvironment(CompilerDependencies.compilerDependenciesForProduction(CompilerSpecialMode.REGULAR)); + + if (( stdlib != null ) && ( stdlib.trim().length() > 0 )) { + env.setStdlib( stdlib ); } - else { - runtimeJar = null; - } - CompileEnvironment env = new CompileEnvironment( new CompilerDependencies( - compilerSpecialMode, - compilerSpecialMode.includeJdkHeaders() ? PathUtil.getAltHeadersPath() : null, - runtimeJar ) ); if (( classpath != null ) && ( classpath.length > 0 )) { env.addToClasspath( classpath ); diff --git a/compiler/cli/src/org/jetbrains/jet/compiler/CompileEnvironment.java b/compiler/cli/src/org/jetbrains/jet/compiler/CompileEnvironment.java index 0dc3485624e..cf6c676be98 100644 --- a/compiler/cli/src/org/jetbrains/jet/compiler/CompileEnvironment.java +++ b/compiler/cli/src/org/jetbrains/jet/compiler/CompileEnvironment.java @@ -516,6 +516,11 @@ public class CompileEnvironment { } } + public void setStdlib(String stdlib) { + File file = new File(stdlib); + addToClasspath(file); + } + public JetCoreEnvironment getEnvironment() { return environment; } diff --git a/compiler/cli/src/org/jetbrains/jet/compiler/JetCoreEnvironment.java b/compiler/cli/src/org/jetbrains/jet/compiler/JetCoreEnvironment.java index b9e250e654d..0feec9530a6 100644 --- a/compiler/cli/src/org/jetbrains/jet/compiler/JetCoreEnvironment.java +++ b/compiler/cli/src/org/jetbrains/jet/compiler/JetCoreEnvironment.java @@ -69,7 +69,9 @@ public class JetCoreEnvironment extends JavaCoreEnvironment { } } if (compilerSpecialMode.includeKotlinRuntime()) { - addToClasspath(compilerDependencies.getRuntimeJar()); + for (VirtualFile root : compilerDependencies.getRuntimeRoots()) { + addLibraryRoot(root); + } } JetStandardLibrary.initialize(getProject());