mirror of https://github.com/sbt/sbt.git
Merge pull request #6697 from er1c/6696-killall-runner-command
[#6696] Add shutdownall to sbt runner to shutdown all sbt-launch processes
This commit is contained in:
commit
9e71209cdd
|
|
@ -25,6 +25,7 @@ set default_java_opts=-Dfile.encoding=UTF-8
|
|||
set sbt_jar=
|
||||
set build_props_sbt_version=
|
||||
set run_native_client=
|
||||
set shutdownall=
|
||||
|
||||
set sbt_args_print_version=
|
||||
set sbt_args_print_sbt_version=
|
||||
|
|
@ -399,6 +400,11 @@ if defined _timings_arg (
|
|||
goto args_loop
|
||||
)
|
||||
|
||||
if "%~0" == "shutdownall" (
|
||||
set shutdownall=1
|
||||
goto args_loop
|
||||
)
|
||||
|
||||
if "%~0" == "--script-version" (
|
||||
set sbt_args_print_sbt_script_version=1
|
||||
goto args_loop
|
||||
|
|
@ -508,7 +514,7 @@ goto args_loop
|
|||
rem Confirm a user's intent if the current directory does not look like an sbt
|
||||
rem top-level directory and the "new" command was not given.
|
||||
|
||||
if not defined sbt_args_sbt_create if not defined sbt_args_print_version if not defined sbt_args_print_sbt_version if not defined sbt_args_print_sbt_script_version if not exist build.sbt (
|
||||
if not defined sbt_args_sbt_create if not defined sbt_args_print_version if not defined sbt_args_print_sbt_version if not defined sbt_args_print_sbt_script_version if not defined shutdownall if not exist build.sbt (
|
||||
if not exist project\ (
|
||||
if not defined sbt_new (
|
||||
echo [warn] Neither build.sbt nor a 'project' directory in the current directory: "%CD%"
|
||||
|
|
@ -535,6 +541,16 @@ call :process
|
|||
|
||||
rem avoid bootstrapping/java version check for script version
|
||||
|
||||
if !shutdownall! equ 1 (
|
||||
set count=0
|
||||
for /f "tokens=1" %%i in ('jps -lv ^| findstr "xsbt.boot.Boot"') do (
|
||||
taskkill /F /PID %%i
|
||||
set /a count=!count!+1
|
||||
)
|
||||
echo shutdown !count! sbt processes
|
||||
goto :eof
|
||||
)
|
||||
|
||||
if !sbt_args_print_sbt_script_version! equ 1 (
|
||||
echo !init_sbt_version!
|
||||
goto :eof
|
||||
|
|
|
|||
9
sbt
9
sbt
|
|
@ -10,6 +10,7 @@ declare -a sbt_options
|
|||
declare -a print_version
|
||||
declare -a print_sbt_version
|
||||
declare -a print_sbt_script_version
|
||||
declare -a shutdownall
|
||||
declare -a original_args
|
||||
declare java_cmd=java
|
||||
declare java_version
|
||||
|
|
@ -494,6 +495,12 @@ run() {
|
|||
elif [[ $print_version ]]; then
|
||||
execRunner "$java_cmd" -jar "$sbt_jar" "sbtVersion" | tail -1 | sed -e 's/\[info\]/sbt version in this project:/g'
|
||||
echo "sbt script version: $init_sbt_version"
|
||||
elif [[ $shutdownall ]]; then
|
||||
local sbt_processes=( $(jps -v | grep sbt-launch | cut -f1 -d ' ') )
|
||||
for procId in "${sbt_processes[@]}"; do
|
||||
kill -9 $procId
|
||||
done
|
||||
echo "shutdown ${#sbt_processes[@]} sbt processes"
|
||||
else
|
||||
# run sbt
|
||||
execRunner "$java_cmd" \
|
||||
|
|
@ -532,6 +539,7 @@ Usage: `basename "$0"` [options]
|
|||
-V | --version print sbt version information
|
||||
--numeric-version print the numeric sbt version (sbt sbtVersion)
|
||||
--script-version print the version of sbt script
|
||||
shutdownall shutdown all running sbt-launch processes
|
||||
-d | --debug set sbt log level to debug
|
||||
-debug-inc | --debug-inc
|
||||
enable extra debugging for the incremental debugger
|
||||
|
|
@ -647,6 +655,7 @@ process_args () {
|
|||
-V|-version|--version) print_version=1 && shift ;;
|
||||
--numeric-version) print_sbt_version=1 && shift ;;
|
||||
--script-version) print_sbt_script_version=1 && shift ;;
|
||||
shutdownall) shutdownall=1 && shift ;;
|
||||
-d|-debug|--debug) sbt_debug=1 && addSbt "-debug" && shift ;;
|
||||
-client|--client) use_sbtn=1 && shift ;;
|
||||
--server) use_sbtn=0 && shift ;;
|
||||
|
|
|
|||
Loading…
Reference in New Issue