1 @echo off 2 rem based on scalac.bat from the Scala distribution 3 rem ########################################################################## 4 rem # Copyright 2002-2011, LAMP/EPFL 5 rem # Copyright 2011-2015, JetBrains 6 rem # 7 rem # This is free software; see the distribution for copying conditions. 8 rem # There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 9 rem # PARTICULAR PURPOSE. 10 rem ########################################################################## 11 12 rem We adopt the following conventions: 13 rem - System/user environment variables start with a letter 14 rem - Local batch variables start with an underscore ('_') 15 16 setlocal 17 call :set_home 18 19 if "%_KOTLIN_COMPILER%"=="" set _KOTLIN_COMPILER=org.jetbrains.kotlin.cli.jvm.K2JVMCompiler 20 21 if not "%JAVA_HOME%"=="" ( 22 if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe" 23 ) 24 25 if "%_JAVACMD%"=="" set _JAVACMD=java 26 27 rem We use the value of the JAVA_OPTS environment variable if defined 28 if "%JAVA_OPTS%"=="" set JAVA_OPTS=-Xmx256M -Xms32M 29 30 if not "%_KOTLIN_RUNNER%"=="" ( 31 "%_JAVACMD%" %JAVA_OPTS% "-Dkotlin.home=%_KOTLIN_HOME%" -cp "%_KOTLIN_HOME%\lib\kotlin-runner.jar" ^ 32 org.jetbrains.kotlin.runner.Main %* 33 ) else ( 34 "%_JAVACMD%" %JAVA_OPTS% -noverify -cp "%_KOTLIN_HOME%\lib\kotlin-preloader.jar" ^ 35 org.jetbrains.kotlin.preloading.Preloader -cp "%_KOTLIN_HOME%\lib\kotlin-compiler.jar" ^ 36 %_KOTLIN_COMPILER% %* 37 ) 38 39 exit /b %ERRORLEVEL% 40 goto end 41 42 rem ########################################################################## 43 rem # subroutines 44 45 :set_home 46 set _BIN_DIR= 47 for %%i in (%~sf0) do set _BIN_DIR=%_BIN_DIR%%%~dpsi 48 set _KOTLIN_HOME=%_BIN_DIR%.. 49 goto :eof 50 51 :end 52 endlocal 53 54