Using `--no-share` as a command line option resulted in a single additional
argument added to the java command:
`-Dsbt.global.base=project/.sbtboot -Dsbt.boot.directory=project/.boot -Dsbt.ivy.home=project/.ivy`
Actually, three separate arguments need to be added.
Ref https://github.com/sbt/sbt/issues/5665
This implements `--client` option to use `sbt` script as the sbtn runner. The build user can also set the env variable `SBT_NATIVE_CLIENT` to `true`.
The script will attempt to parse `project/build.properties` and use sbtn only when it's sbt 1.4 or above.
Solves the issue where providing sbt_options and java_args containing whitespaces on Java 9 and higher would fail. Expansion of sbt_options and java_args containing whitespaces would not expand correctly in copyRt(), but instead would create an invalid java command due to missing quotes.
Fixes https://github.com/sbt/sbt/issues/5035
Currently `sbt` calls `rsync -a`, which expands to `-rlptgoD`, including `--group` and `--owner` flag that preserves the group and owner of the files. This drops the requirement since we just need to copy files around with the right timestamp.
This allows, for example, capturing the correct PID when launching sbt
from within a bash script. The original change from
1a07150560 was to address an issue
specific to cygwin.
Fixessbt/sbt#2695
By the time the arguments are passed to a batch script,
it seems like is parsed away.
for /F did not work since it would not handle double quoted
paths that include whitespaces.
This adds special handling for -D parameters only.
Fixes https://github.com/sbt/sbt/issues/5045
Currently we set `-XX:+UseParallelGC` for JDK greater than 9. This isn't a great default because while the peak throughput is somewhat better than the default g1 collector, the worst case performance is really bad with UseParallelGC, especially when the heap size is large.
Given the sudden diversification of JDK implementations, we should stay clear from `-XX` flags, and let the build users add them if they must.
Fixes https://github.com/sbt/sbt/issues/5076. Arrays should be enclosed in
quotes, or otherwise elements with spaces will be broken, e.g. `-Dfoobar="foo
bar"` will become `-Dfoobar=foo` and `bar`.