Uploaded image for project: 'Clover'
  1. Clover
  2. CLOV-1012

Grails clover plugin unable to parse license location properly on windows when a full path is used

    • Icon: Bug Bug
    • Resolution: Not a bug
    • Icon: Low Low
    • won't fix
    • None
    • Grails Plugin
    • 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.

            [CLOV-1012] Grails clover plugin unable to parse license location properly on windows when a full path is used

              mparfianowicz Marek Parfianowicz
              85def863d5ee Kevin Shekleton
              Affected customers:
              0 This affects my team
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: