I recently had an encoding problem with spock-reports. I am on Windows and the default encoding is “windows-1252”. My source code is “UTF-8” and so I did set
[compileJava, compileTestJava, compileGroovy, compileTestGroovy]*.options*.encoding = 'UTF-8'
and various variations of that like
tasks.withType(JavaCompile). But it had no effect. The encoding of resulting spock-reports was incorrect wherever text from the source-code was extracted, like method names, which, as I was told, was taken from the compiler.
I discovered that setting JVM-option
-Dfile.encoding=UTF8 did resolve this. and also discovered that if I did not set it manually, the default
-Dfile.encoding=windows-1252 would be set. This setting seems to always override
options.encoding from the
GroovyCompile-tasks, rendering this setting useless.
Am I correct with my assumption?