From dc4a56c2e017a0fed53609d6cff35a4b9f593b9f Mon Sep 17 00:00:00 2001 From: Darren Bishop Date: Tue, 12 Jan 2016 14:50:37 +0000 Subject: [PATCH] Updated the MS Windows SBT launcher script to get the same/similar behaviour for -jvm-debug as implemented in the *nix shell script launcher. http://stackoverflow.com/questions/4150776/debugging-scala-code-with-simple-build-tool-sbt-and-intellij/28236830#28236830 --- src/universal/bin/sbt.bat | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/universal/bin/sbt.bat b/src/universal/bin/sbt.bat index 0b70781..b83ba84 100644 --- a/src/universal/bin/sbt.bat +++ b/src/universal/bin/sbt.bat @@ -37,12 +37,34 @@ rem We use the value of the JAVA_OPTS environment variable if defined, rather th set _JAVA_OPTS=%JAVA_OPTS% if "%_JAVA_OPTS%"=="" set _JAVA_OPTS=%CFG_OPTS% -:run +FOR %%a IN (%*) DO ( + if "%%a" == "-jvm-debug" ( + set JVM_DEBUG=true + set /a JVM_DEBUG_PORT=5005 2>nul >nul + ) else if "!JVM_DEBUG!" == "true" ( + set /a JVM_DEBUG_PORT=%%a 2>nul >nul + if not "%%a" == "!JVM_DEBUG_PORT!" ( + set SBT_ARGS=!SBT_ARGS! %%a + ) + ) else ( + set SBT_ARGS=!SBT_ARGS! %%a + ) +) + +if defined JVM_DEBUG_PORT ( + set _JAVA_OPTS=!_JAVA_OPTS! -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=!JVM_DEBUG_PORT! +) + +call :run %SBT_ARGS% -"%_JAVACMD%" %_JAVA_OPTS% %SBT_OPTS% -cp "%SBT_HOME%sbt-launch.jar" xsbt.boot.Boot %* if ERRORLEVEL 1 goto error goto end +:run + +"%_JAVACMD%" %_JAVA_OPTS% %SBT_OPTS% -cp "%SBT_HOME%sbt-launch.jar" xsbt.boot.Boot %* +goto :eof + :error @endlocal exit /B 1