[ 
https://issues.apache.org/jira/browse/CB-10921?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jacob Weber updated CB-10921:
-----------------------------
    Description: 
When I include a plugin in {{config.xml}}, and the plugin declares a 
{{<preference>}}, but the {{config.xml}} doesn't supply a corresponding 
{{<variable>}}, {{cordova prepare}} doesn't show an error message.

I started with a new project, with no plugins or platforms. Then I added 
specific {{<engine>}} versions to config.xml. Finally I added a {{<plugin>}} 
whose {{plugin.xml}} file declares a variable {{<preference name="URL_SCHEME" 
/>}}. But I don't supply the required {{<variable>}}:
{code}
    <engine name="ios" spec="~4.1.0" />
    <engine name="android" spec="~5.1.1" />
    <plugin name="cordova-plugin-whitelist" spec="1" />
    <plugin name="cordova-plugin-customurlscheme" spec="~4.1.5" />
{code}

When I run {{cordova prepare}}, it says:
{code}
Copying plugin 
"/Users/someone/.npm/cordova-plugin-customurlscheme/4.1.5/package" => 
"/Users/someone/CordovaTest/plugins/cordova-plugin-customurlscheme"
{code}
but it doesn't actually copy the plugin there. Nor does it make any changes to 
either platform's {{config.xml}} file, or to any other config files.

On the other hand, if I try to manually install the plugin using {{cordova 
plugin add cordova-plugin-customurlscheme}}, it shows me the appropriate error 
message:
{code}
Error: Variable(s) missing (use: --variable URL_SCHEME=value).
{code}

Side note: it seems to be repeating certain steps for every plugin installed. 
For example, it repeats:
{code}
Wrote out Android application name to "CordovaTest"
Wrote out Android package name to "com.test.cordovatest"
{code}

  was:
When I use {{<plugin>}} with spec set to a local directory, it doesn't seem to 
install the plugin.

I started with a new project, with no plugins or platforms. Then I added 
specific {{<engine>}} versions to config.xml. Finally I added a {{<plugin>}} 
with a local directory:
{code}
    <engine name="ios" spec="~4.1.0" />
    <engine name="android" spec="~5.1.1" />
    <plugin name="cordova-plugin-whitelist" spec="1" />
    <plugin name="cordova-plugin-testplugin" spec="/Users/someone/TestPlugin" />
{code}

When I run {{cordova prepare}}, it says:
{code}
Copying plugin "/Users/someone/TestPlugin" => 
"/Users/someone/CordovaTest/plugins/cordova-plugin-testplugin"
{code}
but it doesn't actually copy the plugin there. Nor does it make any changes to 
either platform's {{config.xml}} file, or to any other config files.

On the other hand, if I manually install the plugin using {{cordova plugin add 
/Users/someone/TestPlugin}}, it works.

See attached log.

Side note: it seems to be repeating certain steps for every plugin installed. 
For example, it repeats:
{code}
Wrote out Android application name to "CordovaTest"
Wrote out Android package name to "com.test.cordovatest"
{code}

        Summary: Plugin not installed when variable not supplied, no error 
message  (was: Plugin not installed when spec=directory)

> Plugin not installed when variable not supplied, no error message
> -----------------------------------------------------------------
>
>                 Key: CB-10921
>                 URL: https://issues.apache.org/jira/browse/CB-10921
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: CLI
>    Affects Versions: 6.0.0
>         Environment: Mac OS 10.11.3.
>            Reporter: Jacob Weber
>            Priority: Minor
>
> When I include a plugin in {{config.xml}}, and the plugin declares a 
> {{<preference>}}, but the {{config.xml}} doesn't supply a corresponding 
> {{<variable>}}, {{cordova prepare}} doesn't show an error message.
> I started with a new project, with no plugins or platforms. Then I added 
> specific {{<engine>}} versions to config.xml. Finally I added a {{<plugin>}} 
> whose {{plugin.xml}} file declares a variable {{<preference name="URL_SCHEME" 
> />}}. But I don't supply the required {{<variable>}}:
> {code}
>     <engine name="ios" spec="~4.1.0" />
>     <engine name="android" spec="~5.1.1" />
>     <plugin name="cordova-plugin-whitelist" spec="1" />
>     <plugin name="cordova-plugin-customurlscheme" spec="~4.1.5" />
> {code}
> When I run {{cordova prepare}}, it says:
> {code}
> Copying plugin 
> "/Users/someone/.npm/cordova-plugin-customurlscheme/4.1.5/package" => 
> "/Users/someone/CordovaTest/plugins/cordova-plugin-customurlscheme"
> {code}
> but it doesn't actually copy the plugin there. Nor does it make any changes 
> to either platform's {{config.xml}} file, or to any other config files.
> On the other hand, if I try to manually install the plugin using {{cordova 
> plugin add cordova-plugin-customurlscheme}}, it shows me the appropriate 
> error message:
> {code}
> Error: Variable(s) missing (use: --variable URL_SCHEME=value).
> {code}
> Side note: it seems to be repeating certain steps for every plugin installed. 
> For example, it repeats:
> {code}
> Wrote out Android application name to "CordovaTest"
> Wrote out Android package name to "com.test.cordovatest"
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to