[
https://issues.apache.org/jira/browse/CB-12521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nate Eagleson updated CB-12521:
-------------------------------
Description:
I have been working on a project that uses the {{CORDOVA_CMDLINE}} variable to
pass arguments to hooks.
Today I tried to add a new option for one of our hooks, but in the hook only
received part of the value I tried to pass.
After some poking, I found that this command:
{{cordova prepare --custom-option='Test Argument'}}
results in {{CORDOVA_CMDLINE}} being populated with something like this:
{{/Users/username/.nvm/versions/node/v6.9.5/bin/node
/Users/username/project/node_modules/.bin/cordova prepare --custom-option=Test
Argument}}
Since {{Test Argument}} is no longer quoted, nor is its embedded space
escaped, our hook can't distinguish between a value with a space in it and a
value followed by an unrelated argument.
The offending code seems to be here:
https://github.com/apache/cordova-lib/blob/rel/6.3.1/cordova-lib/src/hooks/HooksRunner.js#L222
It seems like it should be quoting or escaping the values in process.argv
before joining them into {{CORDOVA_CMDLINE}}.
I hacked up a quick test fix for bash to verify my speculation, but I'm not
very familiar with Windows shell syntax, so I hesitate to propose a solution.
was:
I have been working on a project that uses the {{CORDOVA_CMDLINE}} variable to
pass arguments to hooks.
Today I tried to add a new option for one of our hooks, but in the hook only
received part of the value I tried to pass.
After some poking, I found that this command:
{{cordova prepare --custom-option='Test Argument'}}
results in {{CORDOVA_CMDLINE}} being populated with something like this:
{{/Users/username/.nvm/versions/node/v6.9.5/bin/node
/Users/username/project/node_modules/.bin/cordova prepare --custom-option=Test
Argument}}
Since {{Test Argument}} is no longer quoted, nor is its embedded space
escaped, we can't pass values with spaces in them to our hook.
The offending code seems to be here:
https://github.com/apache/cordova-lib/blob/rel/6.3.1/cordova-lib/src/hooks/HooksRunner.js#L222
It seems like it should be quoting or escaping the values in process.argv
before joining them into {{CORDOVA_CMDLINE}}.
I'm not very familiar with Windows shell syntax, so I hesitate to propose a
solution.
> CORDOVA_CMDLINE fails on spaces in passed arguments
> ---------------------------------------------------
>
> Key: CB-12521
> URL: https://issues.apache.org/jira/browse/CB-12521
> Project: Apache Cordova
> Issue Type: Bug
> Components: CordovaLib
> Affects Versions: 6.3.1
> Environment: Mac OS X 10.11.16, bash 3.2.57(1)-release [default OS X
> version]
> Reporter: Nate Eagleson
> Priority: Minor
>
> I have been working on a project that uses the {{CORDOVA_CMDLINE}} variable
> to pass arguments to hooks.
> Today I tried to add a new option for one of our hooks, but in the hook only
> received part of the value I tried to pass.
> After some poking, I found that this command:
> {{cordova prepare --custom-option='Test Argument'}}
> results in {{CORDOVA_CMDLINE}} being populated with something like this:
> {{/Users/username/.nvm/versions/node/v6.9.5/bin/node
> /Users/username/project/node_modules/.bin/cordova prepare
> --custom-option=Test Argument}}
> Since {{Test Argument}} is no longer quoted, nor is its embedded space
> escaped, our hook can't distinguish between a value with a space in it and a
> value followed by an unrelated argument.
> The offending code seems to be here:
> https://github.com/apache/cordova-lib/blob/rel/6.3.1/cordova-lib/src/hooks/HooksRunner.js#L222
> It seems like it should be quoting or escaping the values in process.argv
> before joining them into {{CORDOVA_CMDLINE}}.
> I hacked up a quick test fix for bash to verify my speculation, but I'm not
> very familiar with Windows shell syntax, so I hesitate to propose a solution.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]