Closed satorg closed 1 year ago
* "original" means https://github.com/sbt/sbt
The original sbt recognizes spaces within lines of .jvmopts as a property separator whereas sbt-extras does not respect the spaces.
.jvmopts
Having both the original sbt v1.7.1 and sbt-extras (installed as sbtx from the current master):
$ mkdir sbtx-vs-sbt-jvmopts
$ cd sbtx-vs-sbt-jvmopts
$ mkdir project
$ echo 'sbt.version=1.7.1' > project/build.properties
$ echo '-Daaa=bbb -Dccc=ddd' > .jvmopts
$ echo 'object TheApp extends App { sys.props.foreach(println) }' > TheApp.scala
$ sbt run
aaa=bbb
ccc=ddd
... (aaa, bbb) (ccc, ddd) ...
$ sbtx run
aaa=bbb -Dccc=ddd
... (aaa,bbb -Dccc=ddd) ...
p.7 and p.9 from the above should emit identical sets of system properties including aaa=bbb and ccc=ddd.
The produced results are different, actually.
See https://github.com/dwijnand/sbt-extras/pull/358 for why we don't want to change the behaviour. Thank you to @jeffreyolchovy for putting the time into looking at this.
* "original" means https://github.com/sbt/sbt
Description
The original sbt recognizes spaces within lines of
.jvmopts
as a property separator whereas sbt-extras does not respect the spaces.How to Reproduce:
Having both the original sbt v1.7.1 and sbt-extras (installed as sbtx from the current master):
$ mkdir sbtx-vs-sbt-jvmopts
$ cd sbtx-vs-sbt-jvmopts
$ mkdir project
$ echo 'sbt.version=1.7.1' > project/build.properties
$ echo '-Daaa=bbb -Dccc=ddd' > .jvmopts
$ echo 'object TheApp extends App { sys.props.foreach(println) }' > TheApp.scala
$ sbt run
aaa=bbb
andccc=ddd
are parsed as separate properties:$ sbtx run
aaa=bbb -Dccc=ddd
:Expected Behavior
p.7 and p.9 from the above should emit identical sets of system properties including
aaa=bbb
andccc=ddd
.Actual Behavior
The produced results are different, actually.