From 3f9e91aa4f865a5faa2db5390de21cc3e696c4ab Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Fri, 22 Feb 2019 16:01:17 -0500 Subject: [PATCH] Default to -Dfile.encoding=UTF-8 Fixes #236 --- citest/test.sh | 2 +- src/universal/bin/sbt | 15 +++++++++------ src/universal/bin/sbt.bat | 4 ++++ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/citest/test.sh b/citest/test.sh index 4699a876a..53c9c6db6 100755 --- a/citest/test.sh +++ b/citest/test.sh @@ -11,7 +11,7 @@ unzip -qo ../target/universal/sbt.zip -d ./freshly-baked export SBT_OPTS=-Dfile.encoding=UTF-8 -./freshly-baked/sbt/bin/sbt about run +./freshly-baked/sbt/bin/sbt about run -v export SBT_OPTS="-Dfile.encoding=UTF-8 -Xms2048M -Xmx2048M -Xss2M -XX:MaxPermSize=512M" diff --git a/src/universal/bin/sbt b/src/universal/bin/sbt index bd2405991..094134a1d 100755 --- a/src/universal/bin/sbt +++ b/src/universal/bin/sbt @@ -9,7 +9,8 @@ declare java_cmd=java declare java_version declare init_sbt_version=_to_be_replaced declare sbt_default_mem=1024 -declare default_sbt_opts="" +declare -r default_sbt_opts="" +declare -r default_java_opts="-Dfile.encoding=UTF-8" ### ------------------------------- ### ### Helper methods for BASH scripts ### @@ -422,7 +423,7 @@ Usage: `basename "$0"` [options] -java-home alternate JAVA_HOME # jvm options and output control - JAVA_OPTS environment variable, if unset uses "$java_opts" + JAVA_OPTS environment variable, if unset uses "$default_java_opts" .jvmopts if this file exists in the current directory, its contents are appended to JAVA_OPTS SBT_OPTS environment variable, if unset uses "$default_sbt_opts" @@ -459,7 +460,7 @@ process_my_args () { *) addResidual "$1" && shift ;; esac done - + # Now, ensure sbt version is used. [[ "${sbt_version}XXX" != "XXX" ]] && addJava "-Dsbt.version=$sbt_version" @@ -494,11 +495,13 @@ loadConfigFile() { # Here we pull in the global settings configuration. [[ -f "$etc_sbt_opts_file" ]] && set -- $(loadConfigFile "$etc_sbt_opts_file") "$@" -# Pull in the project-level config file, if it exists. +# Pull in the project-level config file, if it exists. [[ -f "$sbt_opts_file" ]] && set -- $(loadConfigFile "$sbt_opts_file") "$@" -# Pull in the project-level java config, if it exists. +# Pull in the project-level java config, if it exists. [[ -f ".jvmopts" ]] && export JAVA_OPTS="$JAVA_OPTS $(loadConfigFile .jvmopts)" -run "$@" +# Pull in default JAVA_OPTS +[[ -z "${JAVA_OPTS// }" ]] && export JAVA_OPTS="$default_java_opts" +run "$@" diff --git a/src/universal/bin/sbt.bat b/src/universal/bin/sbt.bat index fbe0704e2..f7f1dd7fb 100644 --- a/src/universal/bin/sbt.bat +++ b/src/universal/bin/sbt.bat @@ -13,6 +13,8 @@ set SBT_HOME=%~dp0 set SBT_ARGS= +set DEFAULT_JAVA_OPTS=-Dfile.encoding=UTF-8 + rem FIRST we load the config file of extra options. set FN=%SBT_HOME%\..\conf\sbtconfig.txt set CFG_OPTS= @@ -55,6 +57,8 @@ 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% +if "%_JAVA_OPTS%"=="" set _JAVA_OPTS=%DEFAULT_JAVA_OPTS% + set INIT_SBT_VERSION=_TO_BE_REPLACED :args_loop