mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
correctly detect java version for mockJDK
This commit is contained in:
@@ -25,10 +25,12 @@ import com.intellij.openapi.roots.LanguageLevelProjectExtension;
|
||||
import com.intellij.openapi.roots.ModuleRootManager;
|
||||
import com.intellij.openapi.roots.OrderRootType;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.JarFileSystem;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.util.PathUtil;
|
||||
import com.intellij.util.SystemProperties;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -40,6 +42,8 @@ import java.util.List;
|
||||
import static org.junit.Assume.assumeTrue;
|
||||
|
||||
public class IdeaTestUtil extends PlatformTestUtil {
|
||||
private static final String MOCK_JDK_DIR_NAME_PREFIX = "mockJDK-";
|
||||
|
||||
public static void main(String[] args) {
|
||||
printDetectedPerformanceTimings();
|
||||
}
|
||||
@@ -89,15 +93,23 @@ public class IdeaTestUtil extends PlatformTestUtil {
|
||||
}
|
||||
|
||||
public static File getMockJdk14Path() {
|
||||
return getPathForJdkNamed("mockJDK-1.4");
|
||||
return getPathForJdkNamed(MOCK_JDK_DIR_NAME_PREFIX + "1.4");
|
||||
}
|
||||
|
||||
public static File getMockJdk17Path() {
|
||||
return getPathForJdkNamed("mockJDK-1.7");
|
||||
return getPathForJdkNamed(MOCK_JDK_DIR_NAME_PREFIX + "1.7");
|
||||
}
|
||||
|
||||
public static File getMockJdk18Path() {
|
||||
return getPathForJdkNamed("mockJDK-1.8");
|
||||
return getPathForJdkNamed(MOCK_JDK_DIR_NAME_PREFIX + "1.8");
|
||||
}
|
||||
|
||||
public static String getMockJdkVersion(String path) {
|
||||
String name = PathUtil.getFileName(path);
|
||||
if (name.startsWith(MOCK_JDK_DIR_NAME_PREFIX)) {
|
||||
return "java " + StringUtil.trimStart(name, MOCK_JDK_DIR_NAME_PREFIX);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static File getPathForJdkNamed(String name) {
|
||||
|
||||
+3
-4
@@ -27,6 +27,7 @@ import com.intellij.openapi.projectRoots.impl.ProjectJdkImpl;
|
||||
import com.intellij.openapi.roots.*;
|
||||
import com.intellij.openapi.roots.libraries.Library;
|
||||
import com.intellij.openapi.roots.libraries.LibraryTable;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.JarFileSystem;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
@@ -145,14 +146,12 @@ abstract class JavaModuleFixtureBuilderImpl<T extends ModuleFixture> extends Mod
|
||||
if (myJdk != null) {
|
||||
VfsRootAccess.allowRootAccessTemporarily(module, myJdk);
|
||||
jdk = JavaSdk.getInstance().createJdk(module.getName() + "_jdk", myJdk, false);
|
||||
((ProjectJdkImpl)jdk).setVersionString("java 1.5");
|
||||
((ProjectJdkImpl)jdk).setVersionString(StringUtil.notNullize(IdeaTestUtil.getMockJdkVersion(myJdk), "java 1.5"));
|
||||
}
|
||||
else {
|
||||
jdk = IdeaTestUtil.getMockJdk17();
|
||||
}
|
||||
if (jdk != null) {
|
||||
model.setSdk(new MockJdkWrapper(CompilerConfigurationImpl.getTestsExternalCompilerHome(), jdk));
|
||||
}
|
||||
model.setSdk(new MockJdkWrapper(CompilerConfigurationImpl.getTestsExternalCompilerHome(), jdk));
|
||||
|
||||
if (myLanguageLevel != null) {
|
||||
model.getModuleExtension(LanguageLevelModuleExtension.class).setLanguageLevel(myLanguageLevel);
|
||||
|
||||
Reference in New Issue
Block a user