External system: resolve JAVA_HOME env variable defined on Mac OS

This commit is contained in:
Vladislav.Soroka
2017-12-01 18:24:50 +03:00
parent 84d6e1029e
commit 474b49db89
4 changed files with 10 additions and 10 deletions
@@ -25,6 +25,7 @@ import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.EnvironmentUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -62,7 +63,7 @@ public class ExternalSystemJdkUtil {
}
if (USE_JAVA_HOME.equals(jdkName)) {
String javaHome = System.getenv("JAVA_HOME");
String javaHome = EnvironmentUtil.getEnvironmentMap().get("JAVA_HOME");
if (StringUtil.isEmptyOrSpaces(javaHome)) throw new UndefinedJavaHomeException();
if (!isValidJdk(javaHome)) throw new InvalidJavaHomeException(javaHome);
return JavaSdk.getInstance().createJdk("", javaHome);
@@ -100,7 +101,7 @@ public class ExternalSystemJdkUtil {
}
if (!ApplicationManager.getApplication().isUnitTestMode()) {
String javaHome = System.getenv("JAVA_HOME");
String javaHome = EnvironmentUtil.getEnvironmentMap().get("JAVA_HOME");
if (isValidJdk(javaHome)) {
return Pair.create(USE_JAVA_HOME, JavaSdk.getInstance().createJdk("", javaHome));
}
@@ -36,6 +36,7 @@ import com.intellij.openapi.util.text.StringUtil;
import com.intellij.ui.ColoredListCellRenderer;
import com.intellij.ui.JBColor;
import com.intellij.ui.SimpleTextAttributes;
import com.intellij.util.EnvironmentUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -237,7 +238,7 @@ public class ExternalSystemJdkComboBox extends ComboBoxWithWidePopup<ExternalSys
new JdkComboBoxItem(ExternalSystemJdkUtil.USE_PROJECT_JDK, "Use Project JDK", buildComment(projectSdk), true));
}
String javaHomePath = System.getenv("JAVA_HOME");
String javaHomePath = EnvironmentUtil.getEnvironmentMap().get("JAVA_HOME");
String javaHomeLabel = ExternalSystemBundle.message("external.system.java.home.env");
result.put(ExternalSystemJdkUtil.USE_JAVA_HOME,
@@ -45,6 +45,7 @@ import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.encoding.EncodingManager;
import com.intellij.openapi.vfs.encoding.EncodingProjectManager;
import com.intellij.util.EnvironmentUtil;
import com.intellij.util.PathUtil;
import com.intellij.util.io.ZipUtil;
import org.jetbrains.annotations.NonNls;
@@ -349,15 +350,11 @@ public class MavenExternalParameters {
}
if (name.equals(MavenRunnerSettings.USE_JAVA_HOME)) {
final String javaHome = System.getenv("JAVA_HOME");
final String javaHome = EnvironmentUtil.getEnvironmentMap().get("JAVA_HOME");
if (StringUtil.isEmptyOrSpaces(javaHome)) {
throw new ExecutionException(RunnerBundle.message("maven.java.home.undefined"));
}
final Sdk jdk = JavaSdk.getInstance().createJdk("", javaHome);
if (jdk == null) {
throw new ExecutionException(RunnerBundle.message("maven.java.home.invalid", javaHome));
}
return jdk;
return JavaSdk.getInstance().createJdk("", javaHome);
}
for (Sdk projectJdk : ProjectJdkTable.getInstance().getAllJdks()) {
@@ -44,6 +44,7 @@ import com.intellij.openapi.projectRoots.impl.JavaAwareProjectJdkTableImpl;
import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.EnvironmentUtil;
import com.intellij.util.PathUtil;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.xmlb.Converter;
@@ -217,7 +218,7 @@ public class MavenServerManager extends RemoteObjectWrapper<MavenServer> impleme
@NotNull
private Sdk getJdk() {
if (myState.embedderJdk.equals(MavenRunnerSettings.USE_JAVA_HOME)) {
final String javaHome = System.getenv("JAVA_HOME");
final String javaHome = EnvironmentUtil.getEnvironmentMap().get("JAVA_HOME");
if (!StringUtil.isEmptyOrSpaces(javaHome)) {
return JavaSdk.getInstance().createJdk("", javaHome);
}