Besides that the escaping of commas for child process jvm args using curly braces is not documented anywhere but in the source code, there is one case that currently does not work.
If you for example need to supply -DsomeValue=,{, this is currently not possible due to the current comma-handling code.
If you supply it like that, you end up with the two arguments -DsomeValue=, and {.
If you supply it like -DsomeValue={,}{, you end up with the one argument -DsomeValue=,, because if one escaped comma was found, all curly braces are stripped away.
Curly braces should only be stripped away if they actually did escape a comma and other curly braces should be preserved, also if they are supplied as pair like -DsomeValue={,}{} or -DsomeValue={,}{foo} which should be interpreted as -DsomeValue=,{} and -DsomeValue=,{foo}.
The only questionable case is, what happens if you have curly braces within curly braces like -DsomeValue={{,}} or {-DsomeValue={,}}.
I'm not sure whether it would be better to interpret this as
-DsomeValue=, and -DsomeValue=,, or
-DsomeValue={,} and {-DsomeValue=,}, or maybe
-DsomeValue={,} in both cases
Besides that the escaping of commas for child process jvm args using curly braces is not documented anywhere but in the source code, there is one case that currently does not work.
If you for example need to supply
-DsomeValue=,{, this is currently not possible due to the current comma-handling code.If you supply it like that, you end up with the two arguments
-DsomeValue=, and{.If you supply it like
-DsomeValue={,}{, you end up with the one argument-DsomeValue=,, because if one escaped comma was found, all curly braces are stripped away.Curly braces should only be stripped away if they actually did escape a comma and other curly braces should be preserved, also if they are supplied as pair like
-DsomeValue={,}{}or-DsomeValue={,}{foo}which should be interpreted as-DsomeValue=,{}and-DsomeValue=,{foo}.The only questionable case is, what happens if you have curly braces within curly braces like
-DsomeValue={{,}}or{-DsomeValue={,}}.I'm not sure whether it would be better to interpret this as
-DsomeValue=,and-DsomeValue=,, or-DsomeValue={,}and{-DsomeValue=,}, or maybe-DsomeValue={,}in both cases