From a03b486101876c963e33b8c2c405e91ddd3fa078 Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Thu, 29 Dec 2011 21:18:03 +0400 Subject: [PATCH 1/3] Getting java home isn't that hard if you're running java code --- .../src/org/jetbrains/jet/compiler/CompileEnvironment.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java b/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java index 2d2722e4810..63f7507da79 100644 --- a/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java +++ b/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java @@ -97,6 +97,13 @@ public class CompileEnvironment { public static File findRtJar(boolean failOnError) { String javaHome = System.getenv("JAVA_HOME"); + if (javaHome == null) { + javaHome = System.getProperty("java.home"); + if ("jre".equals(new File(javaHome).getName())) { + javaHome = new File(javaHome).getParent(); + } + } + File rtJar; if (javaHome == null) { rtJar = findActiveRtJar(failOnError); From 6fa1a1204058b88662aafcc072b8f48565740e7a Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Thu, 29 Dec 2011 21:28:57 +0400 Subject: [PATCH 2/3] Allow absolute paths in module script --- .../src/org/jetbrains/jet/compiler/CompileEnvironment.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java b/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java index 63f7507da79..7a9b881703a 100644 --- a/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java +++ b/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java @@ -230,7 +230,12 @@ public class CompileEnvironment { CompileSession moduleCompileSession = new CompileSession(myEnvironment); moduleCompileSession.addStdLibSources(); for (String sourceFile : moduleBuilder.getSourceFiles()) { - moduleCompileSession.addSources(new File(directory, sourceFile).getPath()); + File source = new File(sourceFile); + if (!source.exists()) { + source = new File(directory, sourceFile); + } + + moduleCompileSession.addSources(source.getPath()); } for (String classpathRoot : moduleBuilder.getClasspathRoots()) { myEnvironment.addToClasspath(new File(classpathRoot)); From 02b2cc4fb8f4e4ee6bb0895394730d84bbbc0372 Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Thu, 29 Dec 2011 21:29:58 +0400 Subject: [PATCH 3/3] More correct check for the path being absolute --- .../src/org/jetbrains/jet/compiler/CompileEnvironment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java b/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java index 7a9b881703a..7a98b234052 100644 --- a/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java +++ b/compiler/backend/src/org/jetbrains/jet/compiler/CompileEnvironment.java @@ -231,7 +231,7 @@ public class CompileEnvironment { moduleCompileSession.addStdLibSources(); for (String sourceFile : moduleBuilder.getSourceFiles()) { File source = new File(sourceFile); - if (!source.exists()) { + if (!source.isAbsolute()) { source = new File(directory, sourceFile); }