From 11926a141ec37b221d5035bc7f40fd4a1f6b701f Mon Sep 17 00:00:00 2001 From: nik Date: Tue, 25 Apr 2017 15:59:00 +0300 Subject: [PATCH] build tests: don't add dummy classes root when running under JDK 9 (IDEA-CR-20468) Previously 'file://null' URL was added to JDK classes roots, it looks strange and may lead to problems. --- .../org/jetbrains/jps/builders/JpsBuildTestCase.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/jps/jps-builders/testSrc/org/jetbrains/jps/builders/JpsBuildTestCase.java b/jps/jps-builders/testSrc/org/jetbrains/jps/builders/JpsBuildTestCase.java index dd9dea01a6f3..c20ba5d2a76b 100644 --- a/jps/jps-builders/testSrc/org/jetbrains/jps/builders/JpsBuildTestCase.java +++ b/jps/jps-builders/testSrc/org/jetbrains/jps/builders/JpsBuildTestCase.java @@ -173,7 +173,8 @@ public abstract class JpsBuildTestCase extends UsefulTestCase { protected JpsSdk addJdk(final String name) { try { - String path = ClasspathBootstrap.getResourcePath(Object.class) == null ? null : FileUtil.toSystemIndependentName(ClasspathBootstrap.getResourceFile(Object.class).getCanonicalPath()); + String pathToRtJar = ClasspathBootstrap.getResourcePath(Object.class); + String path = pathToRtJar == null ? null : FileUtil.toSystemIndependentName(new File(pathToRtJar).getCanonicalPath()); return addJdk(name, path); } catch (IOException e) { @@ -181,11 +182,13 @@ public abstract class JpsBuildTestCase extends UsefulTestCase { } } - protected JpsSdk addJdk(final String name, final String path) { + protected JpsSdk addJdk(final String name, @Nullable String jdkClassesRoot) { String homePath = System.getProperty("java.home"); String versionString = System.getProperty("java.version"); JpsTypedLibrary> jdk = myModel.getGlobal().addSdk(name, homePath, versionString, JpsJavaSdkType.INSTANCE); - jdk.addRoot(JpsPathUtil.pathToUrl(path), JpsOrderRootType.COMPILED); + if (jdkClassesRoot != null) { + jdk.addRoot(JpsPathUtil.pathToUrl(jdkClassesRoot), JpsOrderRootType.COMPILED); + } return jdk.getProperties(); }