-
Bug
-
Resolution: Fixed
-
Normal
-
9.6.0
-
None
-
Security Level: Jimmy
-
None
-
windows (tested on windows 10, up to date 2021/04/22)
-
None
Steps to Reproduce
Clone a theme project (ex atlantic), but also reproduced in theme template
https://github.com/zkoss/atlantic
Run mvn clean compile
Current Result
build fails with:
Executing zkless-engine with params: { _: [ 'true}' ], source: 'D:\\Repositories\\zkgit\\atlantic/src/archive/web', output: 'D:\\Repositories\\zkgit\\atlantic\\target\\classes/web/atlantic', compress: true, undefined:1 'less-opts': '{javascriptEnabled:', {javascriptEnabled: imports: [], ^ extension: '.css.dsp', watch: false, SyntaxError: Unexpected token j in JSON at position 1 'live-reload-port': 50000 } at JSON.parse (<anonymous>) at Object.<anonymous> (C:\Users\Matt\AppData\Roaming\npm\node_modules\zkless-engine\bin\zkless-cli.js:37:14) at Module._compile (internal/modules/cjs/loader.js:955:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10) at Module.load (internal/modules/cjs/loader.js:811:32) at Function.Module._load (internal/modules/cjs/loader.js:723:14) at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10) at internal/main/run_main_module.js:17:11 [ERROR] Command execution failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404) at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166) at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:804) at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:751) at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:313) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289) at org.apache.maven.cli.MavenCli.main (MavenCli.java:193) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Expected Result
build succeed
Debug Information
caused by escaping not working in windows.
https://github.com/zkoss/atlantic/blob/master/pom.xml#L132
<argument>{"javascriptEnabled": true}</argument>
Workaround
ON WINDOWS: add additional escaped backslash to escape the double quotes
<argument>{\\\"javascriptEnabled\\\":true}</argument>