PageRenderTime 43ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 1ms

/platform/util-rt/src/com/intellij/openapi/util/SystemInfoRt.java

http://github.com/JetBrains/intellij-community
Java | 44 lines | 31 code | 8 blank | 5 comment | 4 complexity | ca6814b6e5f7185c2a503bdbe20ef97a MD5 | raw file
Possible License(s): BSD-3-Clause, Apache-2.0, MPL-2.0-no-copyleft-exception, MIT, EPL-1.0, AGPL-1.0
  1. // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
  2. package com.intellij.openapi.util;
  3. import com.intellij.ReviseWhenPortedToJDK;
  4. import java.util.Locale;
  5. /**
  6. * A stripped-down version of {@link com.intellij.openapi.util.SystemInfo}.
  7. * Intended to use by external (out-of-IDE-process) runners and helpers so it should not contain any library dependencies.
  8. */
  9. public final class SystemInfoRt {
  10. public static final String OS_NAME = System.getProperty("os.name");
  11. public static final String OS_VERSION = System.getProperty("os.version").toLowerCase(Locale.ENGLISH);
  12. private static final String _OS_NAME = OS_NAME.toLowerCase(Locale.ENGLISH);
  13. public static final boolean isWindows = _OS_NAME.startsWith("windows");
  14. public static final boolean isMac = _OS_NAME.startsWith("mac");
  15. public static final boolean isLinux = _OS_NAME.startsWith("linux");
  16. public static final boolean isFreeBSD = _OS_NAME.startsWith("freebsd");
  17. public static final boolean isSolaris = _OS_NAME.startsWith("sunos");
  18. public static final boolean isUnix = !isWindows;
  19. public static final boolean isFileSystemCaseSensitive =
  20. isUnix && !isMac || "true".equalsIgnoreCase(System.getProperty("idea.case.sensitive.fs"));
  21. private static final String ARCH_DATA_MODEL = System.getProperty("sun.arch.data.model");
  22. public static final boolean is32Bit = ARCH_DATA_MODEL == null || ARCH_DATA_MODEL.equals("32");
  23. public static final boolean is64Bit = !is32Bit;
  24. @ReviseWhenPortedToJDK("9")
  25. public static final boolean IS_AT_LEAST_JAVA9 = isModularJava();
  26. @SuppressWarnings("JavaReflectionMemberAccess")
  27. private static boolean isModularJava() {
  28. try {
  29. Class.class.getMethod("getModule");
  30. return true;
  31. }
  32. catch (Throwable t) {
  33. return false;
  34. }
  35. }
  36. }