Advertisement
EXTREMEXPLOIT

MPS

Oct 7th, 2020
4,624
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.03 KB | None | 0 0
  1. @ECHO OFF
  2.  
  3. ::----------------------------------------------------------------------
  4. :: JetBrains MPS startup script.
  5. :: Generated by MPS
  6. ::----------------------------------------------------------------------
  7.  
  8. :: ---------------------------------------------------------------------
  9. :: Ensure IDE_HOME points to the directory where the IDE is installed.
  10. :: ---------------------------------------------------------------------
  11. SET IDE_BIN_DIR=%~dp0
  12. FOR /F "delims=" %%i in ("%IDE_BIN_DIR%\..") DO SET IDE_HOME=%%~fi
  13.  
  14. IF "%IDE_BIN_DIR:~-8%" == "bin\win\" (
  15.  echo.
  16.  echo    You are trying to run JetBrains MPS from generic distribution
  17.  echo Please first copy content of "%IDE_BIN_DIR%"
  18.  echo into its parent directory ("%IDE_BIN_DIR:~0,-4%"^)
  19.  echo and then run mps.bat from there
  20.  echo.
  21.  pause
  22.  exit
  23. )
  24.  
  25. :: ---------------------------------------------------------------------
  26. :: Locate a JDK installation directory which will be used to run the IDE.
  27. :: Try (in order): MPS_JDK, mps%BITS%.exe.jdk, ..\jre, JDK_HOME, JAVA_HOME.
  28. :: ---------------------------------------------------------------------
  29. SET JDK=
  30. SET IDEA_VENDOR_NAME=JetBrains
  31.  
  32. IF EXIST "%MPS_JDK%" SET JDK=%MPS_JDK%
  33. IF EXIST "%JDK%" GOTO check
  34.  
  35. SET BITS=64
  36. SET USER_JDK64_FILE=%APPDATA%\%IDEA_VENDOR_NAME%\MPS2020.2\mps%BITS%.exe.jdk
  37. SET BITS=
  38. SET USER_JDK_FILE=%APPDATA%\%IDEA_VENDOR_NAME%\MPS2020.2\mps%BITS%.exe.jdk
  39. IF EXIST "%USER_JDK64_FILE%" (
  40.  SET /P JDK=<%USER_JDK64_FILE%
  41. ) ELSE (
  42.  IF EXIST "%USER_JDK_FILE%" SET /P JDK=<%USER_JDK_FILE%
  43. )
  44. IF NOT "%JDK%" == "" (
  45.  IF NOT EXIST "%JDK%" SET JDK="%IDE_HOME%\%JDK%"
  46.  IF EXIST "%JDK%" GOTO check
  47. )
  48.  
  49. IF "%PROCESSOR_ARCHITECTURE%" == "AMD64" (
  50.  IF EXIST "%IDE_HOME%\jbr" SET JDK=%IDE_HOME%\jbr
  51.  IF EXIST "%JDK%" GOTO check
  52. )
  53. IF EXIST "%IDE_HOME%\jbr-x86" SET JDK=%IDE_HOME%\jbr-x86
  54. IF EXIST "%JDK%" GOTO check
  55.  
  56. IF EXIST "%JDK_HOME%" SET JDK=%JDK_HOME%
  57. IF EXIST "%JDK%" GOTO check
  58.  
  59. IF EXIST "%JAVA_HOME%" SET JDK=%JAVA_HOME%
  60.  
  61. :check
  62. SET JAVA_EXE=%JDK%\bin\javaw.exe
  63. IF NOT EXIST "%JAVA_EXE%" SET JAVA_EXE=%JDK%\jre\bin\javaw.exe
  64. IF NOT EXIST "%JAVA_EXE%" (
  65.  ECHO ERROR: cannot start JetBrains MPS.
  66.  ECHO No JDK found. Please validate either MPS_JDK, JDK_HOME or JAVA_HOME points to valid JDK installation.
  67.  EXIT /B
  68. )
  69.  
  70. SET JRE=%JDK%
  71. IF EXIST "%JRE%\jre" SET JRE=%JDK%\jre
  72. IF EXIST "%JRE%\lib\amd64" (
  73.  SET BITS=64
  74. ) ELSE (
  75.  IF EXIST "%JRE%\bin\windowsaccessbridge-64.dll" SET BITS=64
  76. )
  77.  
  78. :: ---------------------------------------------------------------------
  79. :: Collect JVM options and properties.
  80. :: ---------------------------------------------------------------------
  81. IF NOT "%MPS_PROPERTIES%" == "" SET IDE_PROPERTIES_PROPERTY="-Didea.properties.file=%MPS_PROPERTIES%"
  82.  
  83. :: explicit
  84. SET VM_OPTIONS_FILE=%MPS_VM_OPTIONS%
  85. IF NOT EXIST "%VM_OPTIONS_FILE%" (
  86.  :: Toolbox
  87.  SET VM_OPTIONS_FILE=%IDE_HOME%.vmoptions
  88. )
  89. IF NOT EXIST "%VM_OPTIONS_FILE%" (
  90.  :: user-overridden
  91.  SET VM_OPTIONS_FILE=%APPDATA%\%IDEA_VENDOR_NAME%\MPS2020.2\mps%BITS%.exe.vmoptions
  92. )
  93. IF NOT EXIST "%VM_OPTIONS_FILE%" (
  94.  :: default, standard installation
  95.  SET VM_OPTIONS_FILE=%IDE_BIN_DIR%\mps%BITS%.exe.vmoptions
  96. )
  97. IF NOT EXIST "%VM_OPTIONS_FILE%" (
  98.  :: default, universal package
  99.  SET VM_OPTIONS_FILE=%IDE_BIN_DIR%\win\mps%BITS%.exe.vmoptions
  100. )
  101. IF NOT EXIST "%VM_OPTIONS_FILE%" (
  102.  ECHO ERROR: cannot find VM options file.
  103. )
  104.  
  105. SET ACC=
  106. FOR /F "eol=# usebackq delims=" %%i IN ("%VM_OPTIONS_FILE%") DO CALL "%IDE_BIN_DIR%\append.bat" "%%i"
  107. IF EXIST "%VM_OPTIONS_FILE%" SET ACC=%ACC% -Djb.vmOptionsFile="%VM_OPTIONS_FILE%"
  108.  
  109. SET IDEA_PATHS_SELECTOR=MPS2020.2
  110. SET PRODUCT="MPS"
  111. SET COMMON_JVM_ARGS="-XX:ErrorFile=%USERPROFILE%\java_error_in_%PRODUCT%_%%p.log" "-XX:HeapDumpPath=%USERPROFILE%\java_error_in_%PRODUCT%.hprof" -Didea.paths.selector=%IDEA_PATHS_SELECTOR% -Didea.vendor.name="%IDEA_VENDOR_NAME%" %IDE_PROPERTIES_PROPERTY%
  112. SET IDE_JVM_ARGS=-Didea.platform.prefix=Idea -Didea.jre.check=true
  113. SET ALL_JVM_ARGS=%ACC% %COMMON_JVM_ARGS% %IDE_JVM_ARGS%
  114.  
  115. SET CLASS_PATH=%IDE_HOME%\lib\branding.jar
  116. SET CLASS_PATH=%CLASS_PATH%;%IDE_HOME%\lib\mps-boot.jar
  117. SET CLASS_PATH=%CLASS_PATH%;%IDE_HOME%\lib\mps-boot-util.jar
  118. SET CLASS_PATH=%CLASS_PATH%;%IDE_HOME%\lib\bootstrap.jar
  119. SET CLASS_PATH=%CLASS_PATH%;%IDE_HOME%\lib\extensions.jar
  120. SET CLASS_PATH=%CLASS_PATH%;%IDE_HOME%\lib\util.jar
  121. SET CLASS_PATH=%CLASS_PATH%;%IDE_HOME%\lib\jdom.jar
  122. SET CLASS_PATH=%CLASS_PATH%;%IDE_HOME%\lib\log4j.jar
  123. SET CLASS_PATH=%CLASS_PATH%;%IDE_HOME%\lib\trove4j.jar
  124. SET CLASS_PATH=%CLASS_PATH%;%IDE_HOME%\lib\jna.jar
  125. SET CLASS_PATH=%CLASS_PATH%;%JDK%\lib\tools.jar
  126. IF NOT "%IDEA_CLASS_PATH%" == "" SET CLASS_PATH=%CLASS_PATH%;%IDEA_CLASS_PATH%
  127.  
  128. :: ---------------------------------------------------------------------
  129. :: Run the IDE.
  130. :: ---------------------------------------------------------------------
  131. SET OLD_PATH=%PATH%
  132. SET PATH=%IDE_BIN_DIR%;%PATH%
  133.  
  134. SET MAIN_CLASS=jetbrains.mps.Launcher
  135. start "" "%JAVA_EXE%" %ALL_JVM_ARGS% -Didea.main.class.name=%MAIN_CLASS% -cp "%CLASS_PATH%" %MAIN_CLASS% %*
  136.  
  137. SET PATH=%OLD_PATH%
  138.  
  139. exit
  140.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement