From 59c7f33c88295df87debd05511b41a37a97831a2 Mon Sep 17 00:00:00 2001 From: Stepan Koltsov Date: Mon, 9 Apr 2012 18:22:23 +0400 Subject: [PATCH] add runtime to classpath in JetCoreEnvironment --- .../jet/buildtools/core/BytecodeCompiler.java | 21 +++++++++++++++---- .../jet/compiler/CompileEnvironment.java | 5 ----- .../jet/compiler/JetCoreEnvironment.java | 4 +--- 3 files changed, 18 insertions(+), 12 deletions(-) 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 3045f3b454e..1eeceaf8b32 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,6 +23,7 @@ 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; @@ -49,11 +50,23 @@ public class BytecodeCompiler { * @return compile environment instance */ private CompileEnvironment env( String stdlib, String[] classpath ) { - CompileEnvironment env = new CompileEnvironment(CompilerDependencies.compilerDependenciesForProduction(CompilerSpecialMode.REGULAR)); - - if (( stdlib != null ) && ( stdlib.trim().length() > 0 )) { - env.setStdlib( stdlib ); + CompilerSpecialMode compilerSpecialMode = CompilerSpecialMode.REGULAR; + File runtimeJar; + if (compilerSpecialMode.includeKotlinRuntime()) { + if (( stdlib != null ) && ( stdlib.trim().length() > 0 )) { + runtimeJar = new File( stdlib ); + } + else { + runtimeJar = PathUtil.getDefaultRuntimePath(); + } } + 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 cf6c676be98..0dc3485624e 100644 --- a/compiler/cli/src/org/jetbrains/jet/compiler/CompileEnvironment.java +++ b/compiler/cli/src/org/jetbrains/jet/compiler/CompileEnvironment.java @@ -516,11 +516,6 @@ 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 0feec9530a6..b9e250e654d 100644 --- a/compiler/cli/src/org/jetbrains/jet/compiler/JetCoreEnvironment.java +++ b/compiler/cli/src/org/jetbrains/jet/compiler/JetCoreEnvironment.java @@ -69,9 +69,7 @@ public class JetCoreEnvironment extends JavaCoreEnvironment { } } if (compilerSpecialMode.includeKotlinRuntime()) { - for (VirtualFile root : compilerDependencies.getRuntimeRoots()) { - addLibraryRoot(root); - } + addToClasspath(compilerDependencies.getRuntimeJar()); } JetStandardLibrary.initialize(getProject());