-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix for issue #12551 #13006
Merged
Merged
Fix for issue #12551 #13006
Changes from 1 commit
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
@rem ######################################################################### | ||
@rem ## Code common to scalac.bat, scaladoc.bat and scala.bat | ||
|
||
if defined JAVACMD ( | ||
set "_JAVACMD=%JAVACMD%" | ||
) else if defined JAVA_HOME ( | ||
set "_JAVACMD=%JAVA_HOME%\bin\java.exe" | ||
) else if defined JDK_HOME ( | ||
set "_JAVACMD=%JDK_HOME%\bin\java.exe" | ||
) else ( | ||
where /q java.exe | ||
if !ERRORLEVEL!==0 ( | ||
set __JAVA_BIN_DIR= | ||
for /f "delims=" %%i in ('where /f java.exe') do ( | ||
set "__PATH=%%~dpi" | ||
@rem we take first occurence and ignore Oracle path for java executable | ||
if not defined __JAVA_BIN_DIR if "!__PATH!"=="!__PATH:javapath=!" set "__JAVA_BIN_DIR=!__PATH!" | ||
) | ||
if defined __JAVA_BIN_DIR set "_JAVACMD=!__JAVA_BIN_DIR!\java.exe" | ||
) | ||
if not defined _JAVACMD ( | ||
set "__PATH=%ProgramFiles%\Java" | ||
for /f %%f in ('dir /ad /b "!__PATH!\jre*" 2^>NUL') do set "_JAVA_HOME=!__PATH!\%%f" | ||
if not defined _JAVA_HOME ( | ||
set __PATH=C:\opt | ||
for /f %%f in ('dir /ad /b "!__PATH!\jdk*" 2^>NUL') do set "_JAVA_HOME=!__PATH!\%%f\jre" | ||
) | ||
if defined _JAVA_HOME set "_JAVACMD=!_JAVA_HOME!\bin\java.exe" | ||
) | ||
) | ||
if not exist "%_JAVACMD%" ( | ||
echo Error: Java executable not found ^(!_JAVACMD!^) 1>&2 | ||
set _EXITCODE=1 | ||
goto :eof | ||
) | ||
|
||
if not defined _PROG_HOME set "_PROG_HOME=%~dp0" | ||
for /f %%f in ("%_PROG_HOME%\.") do set "_LIB_DIR=%%~dpflib" | ||
|
||
set _PSEP=; | ||
|
||
for /f %%f in ('dir /a-d /b "%_LIB_DIR%\*scala3-compiler*"') do set "_SCALA3_COMP=%_LIB_DIR%\%%f" | ||
for /f %%f in ('dir /a-d /b "%_LIB_DIR%\*scala3-interfaces*"') do set "_SCALA3_INTF=%_LIB_DIR%\%%f" | ||
for /f %%f in ('dir /a-d /b "%_LIB_DIR%\*scala3-library*"') do set "_SCALA3_LIB=%_LIB_DIR%\%%f" | ||
for /f %%f in ('dir /a-d /b "%_LIB_DIR%\*scala3-staging*"') do set "_SCALA3_STAGING=%_LIB_DIR%\%%f" | ||
for /f %%f in ('dir /a-d /b "%_LIB_DIR%\*scala3-tasty-inspector*"') do set "_SCALA3_TASTY_INSPECTOR=%_LIB_DIR%\%%f" | ||
for /f %%f in ('dir /a-d /b "%_LIB_DIR%\*tasty-core*"') do set "_TASTY_CORE=%_LIB_DIR%\%%f" | ||
for /f %%f in ('dir /a-d /b "%_LIB_DIR%\*scala-asm*"') do set "_SCALA_ASM=%_LIB_DIR%\%%f" | ||
for /f %%f in ('dir /a-d /b "%_LIB_DIR%\*scala-library*"') do set "_SCALA_LIB=%_LIB_DIR%\%%f" | ||
for /f %%f in ('dir /a-d /b "%_LIB_DIR%\*compiler-interface*"') do set "_SBT_INTF=%_LIB_DIR%\%%f" | ||
for /f %%f in ('dir /a-d /b "%_LIB_DIR%\*jline-reader-3*"') do set "_JLINE_READER=%_LIB_DIR%\%%f" | ||
for /f %%f in ('dir /a-d /b "%_LIB_DIR%\*jline-terminal-3*"') do set "_JLINE_TERMINAL=%_LIB_DIR%\%%f" | ||
for /f %%f in ('dir /a-d /b "%_LIB_DIR%\*jline-terminal-jna-3*"') do set "_JLINE_TERMINAL_JNA=%_LIB_DIR%\%%f" | ||
for /f %%f in ('dir /a-d /b "%_LIB_DIR%\*jna-5*"') do set "_JNA=%_LIB_DIR%\%%f" | ||
|
||
@rem debug | ||
set _DEBUG_STR=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
@echo off | ||
setlocal enabledelayedexpansion | ||
|
||
@rem ######################################################################### | ||
@rem ## Environment setup | ||
|
||
set _EXITCODE=0 | ||
|
||
set "_PROG_HOME=%~dp0" | ||
|
||
call "%_PROG_HOME%\common.bat" | ||
if not %_EXITCODE%==0 goto end | ||
|
||
call :args %* | ||
|
||
@rem ######################################################################### | ||
@rem ## Main | ||
|
||
set _CASE_REPL=0 | ||
if %_EXECUTE_REPL%==1 set _CASE_REPL=1 | ||
if %_EXECUTE_RUN%==0 if %_OPTIONS_INDICATOR%==0 set _CASE_REPL=1 | ||
|
||
set _CASE_EXEC=0 | ||
if %_EXECUTE_REPL%==1 set _CASE_EXEC=1 | ||
if defined _RESIDUAL_ARGS set _CASE_EXEC=1 | ||
|
||
if %_EXECUTE_SCRIPT%==1 ( | ||
set _SCALAC_ARGS= | ||
if defined _CLASS_PATH set _SCALAC_ARGS=-classpath "%_CLASS_PATH%" | ||
set _RESIDUAL_ARGS=!_RESIDUAL_ARGS! "-Dscript.path=%_TARGET_SCRIPT%" | ||
set _SCALAC_ARGS=!_SCALAC_ARGS! %_JAVA_OPTS% !_RESIDUAL_ARGS! -script "%_TARGET_SCRIPT%" %_SCRIPT_ARGS% | ||
call "%_PROG_HOME%\scalac.bat" !_SCALAC_ARGS! | ||
if not !ERRORLEVEL!==0 ( set _EXITCODE=1& goto end ) | ||
@rem if [ $execute_repl == true ] || ([ $execute_run == false ] && [ $options_indicator == 0 ]); then | ||
) else if %_CASE_REPL%==1 ( | ||
set _SCALAC_ARGS= | ||
if defined _CLASS_PATH set _SCALAC_ARGS=-classpath "%_CLASS_PATH%" | ||
set _SCALAC_ARGS=!_SCALAC_ARGS! %_JAVA_OPTS% -repl %_RESIDUAL_ARGS% | ||
call "%_PROG_HOME%\scalac.bat" !_SCALAC_ARGS! | ||
if not !ERRORLEVEL!==0 ( set _EXITCODE=1& goto end ) | ||
@rem elif [ $execute_repl == true ] || [ ${#residual_args[@]} -ne 0 ]; then | ||
) else if %_CASE_EXEC%==1 ( | ||
set "_CP_ARG=%_SCALA3_LIB%%_PSEP%%_SCALA_LIB%" | ||
if defined _CLASS_PATH ( set "_CP_ARG=!_CP_ARG!%_PSEP%%_CLASS_PATH%" | ||
) else ( set "_CP_ARG=!_CP_ARG!%_PSEP%." | ||
) | ||
if %_CLASS_PATH_COUNT% gtr 1 ( | ||
echo Warning: Multiple classpaths are found, scala only use the last one. 1>&2 | ||
) | ||
if %_WITH_COMPILER%==1 ( | ||
set "_CP_ARG=!_CP_ARG!%_PSEP%%_SCALA3_COMP%%_PSEP%%_TASTY_CORE%%_PSEP%%_SCALA3_INTF%%_PSEP%%_SCALA_ASM%%_PSEP%%_SCALA3_STAGING%%_PSEP%%_SCALA3_TASTY_INSPECTOR%" | ||
) | ||
set _JAVA_ARGS=%_JAVA_DEBUG% -classpath "!_CP_ARG!" %_JVM_OPTS% %_RESIDUAL_ARGS% | ||
call "%_JAVACMD%" !_JAVA_ARGS! | ||
if not !ERRORLEVEL!==0 ( set _EXITCODE=1& goto end ) | ||
) else ( | ||
echo Warning: Command option is not correct. 1>&2 | ||
) | ||
|
||
goto end | ||
|
||
@rem ######################################################################### | ||
@rem ## Subroutines | ||
|
||
:args | ||
set _RESIDUAL_ARGS= | ||
set _SCRIPT_ARGS= | ||
set _EXECUTE_REPL=0 | ||
set _EXECUTE_RUN=0 | ||
set _EXECUTE_SCRIPT=0 | ||
set _TARGET_SCRIPT= | ||
set _WITH_COMPILER=0 | ||
set _JAVA_DEBUG= | ||
set _CLASS_PATH_COUNT=0 | ||
set _CLASS_PATH= | ||
set _JVM_OPTS= | ||
set _JAVA_OPTS= | ||
set _OPTIONS_INDICATOR=0 | ||
|
||
:args_loop | ||
if "%~1"=="" goto args_done | ||
set "__ARG=%~1" | ||
if "%__ARG%"=="-repl" ( | ||
set _EXECUTE_REPL=1 | ||
) else if "%__ARG%"=="-run" ( | ||
set _EXECUTE_RUN=1 | ||
) else if "%__ARG%"=="-classpath" ( | ||
set "_CLASS_PATH=%~2" | ||
set /a _CLASS_PATH_COUNT+=1 | ||
shift | ||
) else if "%__ARG%"=="-cp" ( | ||
set "_CLASS_PATH=%~2" | ||
set /a _CLASS_PATH_COUNT+=1 | ||
shift | ||
) else if "%__ARG%"=="-with-compiler" ( | ||
set _WITH_COMPILER=1 | ||
) else if "%__ARG%"=="-d" ( | ||
set "_JAVA_DEBUG=%_DEBUG_STR%" | ||
) else if "%__ARG:~0,2%"=="-J" ( | ||
set _JVM_OPTS=!_JVM_OPTS! %__ARG:~2% | ||
set _JAVA_OPTS=!_JAVA_OPTS! %__ARG% | ||
) else ( | ||
@rem _OPTIONS_INDICATOR != 0 if at least one parameter is not an option | ||
if not "%__ARG:~0,1%"=="-" set /a _OPTIONS_INDICATOR+=1 | ||
if %_EXECUTE_SCRIPT%==1 ( | ||
set _SCRIPT_ARGS=%_SCRIPT_ARGS% %__ARG% | ||
) else if "%__ARG:~-6%"==".scala" ( | ||
set _EXECUTE_SCRIPT=1 | ||
set "_TARGET_SCRIPT=%__ARG%" | ||
) else ( | ||
set _RESIDUAL_ARGS=%_RESIDUAL_ARGS% %__ARG% | ||
) | ||
) | ||
shift | ||
goto args_loop | ||
:args_done | ||
goto :eof | ||
|
||
@rem ######################################################################### | ||
@rem ## Cleanups | ||
|
||
:end | ||
exit /b %_EXITCODE% | ||
endlocal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
@echo off | ||
setlocal enabledelayedexpansion | ||
|
||
@rem ######################################################################### | ||
@rem ## Environment setup | ||
|
||
set _EXITCODE=0 | ||
|
||
set "_PROG_HOME=%~dp0" | ||
|
||
call "%_PROG_HOME%\common.bat" | ||
if not %_EXITCODE%==0 goto end | ||
|
||
set _DEFAULT_JAVA_OPTS=-Xmx768m -Xms768m | ||
@rem set _WITH_COMPILER=true | ||
|
||
set _COMPILER_MAIN=dotty.tools.dotc.Main | ||
set _DECOMPILER_MAIN=dotty.tools.dotc.decompiler.Main | ||
set _REPL_MAIN=dotty.tools.repl.Main | ||
set _SCRIPTING_MAIN=dotty.tools.scripting.Main | ||
|
||
call :args %* | ||
|
||
@rem ######################################################################### | ||
@rem ## Main | ||
|
||
call :classpathArgs | ||
|
||
set _SCRIPTING_STRING= | ||
if "%_PROG_NAME%"=="%_SCRIPTING_MAIN%" ( | ||
if not defined _TARGET_SCRIPT ( | ||
echo Error: Missing Scala script file 1>&2 | ||
set _EXITCODE=1 | ||
goto end | ||
) | ||
set _SCRIPTING_STRING=-script %_TARGET_SCRIPT% %_SCRIPTING_ARGS% | ||
) | ||
|
||
if defined JAVA_OPTS ( set _JAVA_OPTS=%JAVA_OPTS% | ||
) else ( set _JAVA_OPTS=%_DEFAULT_JAVA_OPTS% | ||
) | ||
call "%_JAVACMD%" %_JAVA_OPTS% %_JAVA_DEBUG% %_JAVA_ARGS% %_JVM_CP_ARGS% ^ | ||
-Dscala.usejavacp=true ^ | ||
%_PROG_NAME% %_SCALA_ARGS% %_RESIDUAL_ARGS% %_SCRIPTING_STRING% | ||
if not %ERRORLEVEL%==0 ( | ||
set _EXITCODE=1 | ||
goto end | ||
) | ||
goto end | ||
|
||
@rem ######################################################################### | ||
@rem ## Subroutines | ||
|
||
:args | ||
set _JAVA_DEBUG= | ||
set _HELP= | ||
set _VERBOSE= | ||
set _QUIET= | ||
set _COLORS= | ||
set _PROG_NAME=%_COMPILER_MAIN% | ||
set _SCALA_ARGS= | ||
set _JAVA_ARGS= | ||
set _RESIDUAL_ARGS= | ||
set _SCRIPTING_ARGS= | ||
set _TARGET_SCRIPT= | ||
|
||
:args_loop | ||
if "%~1"=="" goto args_done | ||
set "__ARG=%~1" | ||
if defined _TARGET_SCRIPT ( | ||
call :addScripting "%__ARG%" | ||
) else if "%__ARG%"=="--" ( | ||
@rem for arg; do addResidual "$arg"; done; set -- ;; | ||
) else if "%__ARG%"=="-h" ( | ||
set _HELP=true | ||
call :addScala "-help" | ||
) else if "%__ARG%"=="-help" ( | ||
set _HELP=true | ||
call :addScala "-help" | ||
) else if "%__ARG%"=="-v" ( | ||
set _VERBOSE=true | ||
call :addScala "-verbose" | ||
) else if "%__ARG%"=="-verbose" ( | ||
set _VERBOSE=true | ||
call :addScala "-verbose" | ||
) else if "%__ARG%"=="-debug" ( set "_JAVA_DEBUG=%_DEBUG_STR%" | ||
) else if "%__ARG%"=="-q" ( set _QUIET=true | ||
) else if "%__ARG%"=="-quiet" ( set _QUIET=true | ||
@rem Optimize for short-running applications, see https://github.com/lampepfl/dotty/issues/222 | ||
) else if "%__ARG%"=="-Oshort" ( | ||
call :addJava "-XX:+TieredCompilation -XX:TieredStopAtLevel=1" | ||
) else if "%__ARG%"=="-repl" ( set _PROG_NAME=%_REPL_MAIN% | ||
) else if "%__ARG%"=="-script" ( | ||
set _PROG_NAME=%_SCRIPTING_MAIN% | ||
if "%~2"=="" goto args_done | ||
set "_TARGET_SCRIPT=%~2" | ||
shift | ||
) else if "%__ARG%"=="-compile" ( set _PROG_NAME=%_COMPILER_MAIN% | ||
) else if "%__ARG%"=="-decompile" ( set _PROG_NAME=%_DECOMPILER_MAIN% | ||
) else if "%__ARG%"=="-print-tasty" ( | ||
set _PROG_NAME=%_DECOMPILER_MAIN% | ||
call :addScala "-print-tasty" | ||
) else if "%__ARG%"=="-run" ( set _PROG_NAME=%_REPL_MAIN% | ||
) else if "%__ARG%"=="-colors" ( set _COLORS=true | ||
) else if "%__ARG%"=="-no-colors" ( set _COLORS= | ||
) else if "%__ARG%"=="-with-compiler" ( set _JVM_CP_ARGS=%_PSEP%%_SCALA3_COMP%%_PSEP%%_TASTY_CORE% | ||
@rem break out -D and -J options and add them to JAVA_OPTS as well | ||
@rem so they reach the JVM in time to do some good. The -D options | ||
@rem will be available as system properties. | ||
) else if "%__ARG:~0,2%"=="-D" ( call :addJava "%__ARG%" | ||
) else if "%__ARG:~0,2%"=="-J" ( call :addJava "%__ARG:~2%" | ||
) else ( call :addResidual "%__ARG%" | ||
) | ||
shift | ||
goto args_loop | ||
:args_done | ||
goto :eof | ||
|
||
@rem output parameter: _SCALA_ARGS | ||
:addScala | ||
set _SCALA_ARGS=%_SCALA_ARGS% %~1 | ||
goto :eof | ||
|
||
@rem output parameter: _JAVA_ARGS | ||
:addJava | ||
set _JAVA_ARGS=%_JAVA_ARGS% %~1 | ||
goto :eof | ||
|
||
@rem output parameter: _RESIDUAL_ARGS | ||
:addResidual | ||
set _RESIDUAL_ARGS=%_RESIDUAL_ARGS% %~1 | ||
goto :eof | ||
|
||
@rem output parameter: _SCRIPTING_ARGS | ||
:addScripting | ||
set _SCRIPTING_ARGS=%_SCRIPTING_ARGS% %~1 | ||
goto :eof | ||
|
||
@rem output parameter: _JVM_CP_ARGS | ||
:classpathArgs | ||
@rem echo scala3-compiler: %_SCALA3_COMP% | ||
@rem echo scala3-interface: %_SCALA3_INTF% | ||
@rem echo scala3-library: %_SCALA3_LIB% | ||
@rem echo tasty-core: %_TASTY_CORE% | ||
@rem echo scala-asm: %_SCALA_ASM% | ||
@rem echo scala-lib: %_SCALA_LIB% | ||
@rem echo sbt-intface: %_SBT_INTF% | ||
|
||
set __TOOLCHAIN=%_SCALA_LIB%%_PSEP% | ||
set __TOOLCHAIN=%__TOOLCHAIN%%_SCALA3_LIB%%_PSEP% | ||
set __TOOLCHAIN=%__TOOLCHAIN%%_SCALA_ASM%%_PSEP% | ||
set __TOOLCHAIN=%__TOOLCHAIN%%_SBT_INTF%%_PSEP% | ||
set __TOOLCHAIN=%__TOOLCHAIN%%_SCALA3_INTF%%_PSEP% | ||
set __TOOLCHAIN=%__TOOLCHAIN%%_SCALA3_COMP%%_PSEP% | ||
set __TOOLCHAIN=%__TOOLCHAIN%%_TASTY_CORE%%_PSEP% | ||
set __TOOLCHAIN=%__TOOLCHAIN%%_SCALA3_STAGING%%_PSEP% | ||
set __TOOLCHAIN=%__TOOLCHAIN%%_SCALA3_TASTY_INSPECTOR%%_PSEP% | ||
|
||
@rem # jline | ||
set __TOOLCHAIN=%__TOOLCHAIN%%_JLINE_READER%%_PSEP% | ||
set __TOOLCHAIN=%__TOOLCHAIN%%_JLINE_TERMINAL%%_PSEP% | ||
set __TOOLCHAIN=%__TOOLCHAIN%%_JLINE_TERMINAL_JNA%%_PSEP% | ||
set __TOOLCHAIN=%__TOOLCHAIN%%_JNA% | ||
|
||
set _JVM_CP_ARGS=-classpath "%__TOOLCHAIN%" | ||
goto :eof | ||
|
||
@rem ######################################################################### | ||
@rem ## Cleanups | ||
|
||
:end | ||
exit /b %_EXITCODE% | ||
endlocal |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI, the
-d
is removed from the shell script, as well as_DEBUG_STR