Current Behavior
Escaping quotes can be mystifying on Windows. Here are some examples of what I found to work via trial and error from different shells.
PowerShell
clj -Sdeps '{:deps {viebel/klipse-repl {:mvn/version ""0.2.3""}}}' -m klipse-repl.main
Command Prompt
powershell -command clj -Sdeps '{:deps {viebel/klipse-repl {:mvn/version """"""0.2.3""""""}}}' -m klipse-repl.main
Git Bash
powershell -command 'clj -Sdeps "{:deps {viebel/klipse-repl {:mvn/version """"0.2.3""""}}}" -m klipse-repl.main'
Preferred Behavior
- We should only suffer escaping requirements of the particular shell
we are using (and any Java escaping requirements).
- A powershell-command prefix should not be required.
From the examples above, the PowerShell version seems reasonable, the others, to me, do not.
Approaches
There has been some discussion on approaches in #clj-windows on Slack:
- an .exe launcher, perhaps built by GraalVM or maybe ps2exe
- a .bat file might work might but might not offer a rich enough scripting language to do what needs to be done.