-
Bug
-
Resolution: Not a bug
-
Low
-
None
-
None
I am logging this from http://jira.grails.org/browse/GPCLOVER-1, which seems to be a dead project that no one is looking at.
Brian Atkinson's original description:
The clover plugin seems to be having trouble parsing its command line options. If the following command is run (cwd=C:\hudson\workspace\genesis-instrument\grails-genesis-instrument):
C:\hudson\workspace\genesis-instrument\grails-genesis-instrument\target\grails-tools\org.grails-grails-distribution-1.2.2-zip\bin\grails.bat -Dgrails.project.work.dir=C:\hudson\workspace\genesis-instrument\grails-genesis-instrument\target\grails-work -Dserver.port=4216 test-app --non-interactive -clover.on -clover.license.path=C:\hudson\workspace\genesis-instrument\grails-genesis-instrument\target\clover.license -clover.initstring=C:\hudson\workspace\genesis-instrument\grails-genesis-instrument\target\clover\clover.db
The following output is produced:
Welcome to Grails 1.2.2 - http://grails.org/ Licensed under Apache Standard License 2.0 Grails home is set to: C:\hudson\workspace\genesis-instrument\grails-genesis-instrument\target\grails-tools\org.grails-grails-distribution-1.2.2-zip Base Directory: C:\hudson\workspace\genesis-instrument\grails-genesis-instrument Resolving dependencies... Dependencies resolved in 1656ms. Running script C:\hudson\workspace\genesis-instrument\grails-genesis-instrument\target\grails-tools\org.grails-grails-distribution-1.2.2-zip\scripts\TestApp.groovy Environment set to test Setting non-interactive mode Clover: Using config: [license:[path:true], initstring:true, on:true] Error executing script TestApp: No signature of method: static java.lang.System.setProperty() is applicable for argument types: (java.lang.String, java.lang.Boolean) values: [clover.license.path, true] groovy.lang.MissingMethodException: No signature of method: static java.lang.System.setProperty() is applicable for argument types: (java.lang.String, java.lang.Boolean) values: [clover.license.path, true] at _Events.configureLicense(_Events.groovy:435) at _Events.this$4$configureLicense(_Events.groovy) at _Events$this$4$configureLicense.callCurrent(Unknown Source) at _Events.toggleCloverOn(_Events.groovy:299) at _Events$_run_closure3.doCall(_Events.groovy:56) at _GrailsEvents_groovy$_run_closure5.doCall(_GrailsEvents_groovy:58) at _GrailsEvents_groovy$_run_closure5.call(_GrailsEvents_groovy) at _GrailsEvents_groovy.run(_GrailsEvents_groovy:62) at _GrailsEvents_groovy$run.call(Unknown Source) at _GrailsClean_groovy$run.call(Unknown Source) at _GrailsClean_groovy.run(_GrailsClean_groovy:29) at _GrailsClean_groovy$run.call(Unknown Source) at TestApp.run(TestApp.groovy:44) at TestApp$run.call(Unknown Source) at gant.Gant.processTargets(Gant.groovy:494) at gant.Gant.processTargets(Gant.groovy:480) Error executing script TestApp: No signature of method: static java.lang.System.setProperty() is applicable for argument types: (java.lang.String, java.lang.Boolean) values: [clover.license.path, true]
What is interesting is how the clover config seems to be significantly off. A similar call run on Ubuntu 10.04 and RHEL 5.3 machines seems to parse the path correctly:
/home/brian/tmp/genesis-instrument/target/grails-tools/org.grails-grails-distribution-1.2.2-zip/bin/grails \ -Dgrails.project.work.dir=/home/brian/tmp/genesis-instrument/target/grails-work \ -Dmaven.localRepository=/home/brian/.m2/repository \ -Dserver.port=43897 \ test-app \ --non-interactive \ -clover.on \ -clover.license.path=C:\\hudson\\workspace\\genesis-instrument\\grails-genesis-instrument\\target\\clover.license \ -clover.initstring=C:\\hudson\\workspace\\genesis-instrument\\grails-genesis-instrument\\target\\clover\\clover.db
Produces:
/home/brian/tmp/genesis-instrument/target/grails-tools/org.grails-grails-distribution-1.2.2-zip/bin/grails: 6: [[: not found Welcome to Grails 1.2.2 - http://grails.org/ Licensed under Apache Standard License 2.0 Grails home is set to: /home/brian/tmp/genesis-instrument/target/grails-tools/org.grails-grails-distribution-1.2.2-zip Base Directory: /home/brian/tmp/genesis-instrument Resolving dependencies... Dependencies resolved in 2323ms. Running script /home/brian/tmp/genesis-instrument/target/grails-tools/org.grails-grails-distribution-1.2.2-zip/scripts/TestApp.groovy Environment set to test Setting non-interactive mode Clover: Using config: [license:[path:C:\hudson\workspace\genesis-instrument\grails-genesis-instrument\target\clover.license], initstring:C:\hudson\workspace\genesis-instrument\grails-genesis-instrument\target\clover\clover.db, on:true] Using clover license path: C:\hudson\workspace\genesis-instrument\grails-genesis-instrument\target\clover.license ...
This proceeds to fail because the path does not work, but at this point I am unsure why on windows this call fails, but on linux it works.
All "-key=value" parameters for Grails have to be enclosed in double quotes on Windows platform. It's a Grails feature. Closing a bug.