I wonder if this is the right place, however I'm f...
# compiler
e
I wonder if this is the right place, however I'm feeding
kotlinc
this way (via gradle
project.exe
):
Copy code
[C:\Users\elect\IdeaProjects\lwjgl3\bin2\libs\kotlinc\bin\kotlinc.bat, -d, C:\Users\elect\IdeaProjects\lwjgl3\bin2\classes\generator, -jvm-target, 1.8, -module-name, generator, -progressive, -version, -Xlambdas=indy, -Xno-call-assertions, -Xno-param-assertions, -Xreport-perf, C:\Users\elect\IdeaProjects\lwjgl3\modules\generator\src\main\kotlin]
And I see on the output:
info: kotlinc-jvm 1.5.31 (JRE 11.0.9.1+1-LTS)
warning: advanced option value is passed in an obsolete form. Please use the '=' character to specify the value: -Xlambdas=...
Which is weird, because I'm actually using that form.. This is on Windows though, on Linux no issues..
u
Windows splits the
a=b
argument on the command line into two arguments
a
and
b
. You can enclose the argument in quotes (
"a=b"
) to prevent that. See https://kotlinlang.org/docs/compatibility-guide-14.html#compiler-arguments-with-delimiter-characters-must-be-passed-in-double-quotes-on-windows
e
Thanks Alexander, clear now! I have a DSL wrapper around
kotlinc
, if I keep double quoting all the arguments with delimiter chars on Unix too, is this gonna be a problem?
u
I can only say that the command line on Linux is much more sensible than in Windows. :) No arbitrary splitting is happening there in this case