You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Steve Gill (JIRA)" <ji...@apache.org> on 2017/06/02 20:45:04 UTC

[jira] [Updated] (CB-12738) cordova ignores plugin dependency version

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

Steve Gill updated CB-12738:
----------------------------
    Labels: cordova-next  (was: )

> cordova ignores plugin dependency version
> -----------------------------------------
>
>                 Key: CB-12738
>                 URL: https://issues.apache.org/jira/browse/CB-12738
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: cordova-cli, cordova-lib
>            Reporter: Marcus Pridham
>            Assignee: Nikita Matrosov
>              Labels: cordova-next
>
> You can see this with the cordova-plugin-file-transfer.  When you install this plugin and it installs the cordova-plugin-file plugin dependency the CLI writes
> Fetching plugin "cordova-plugin-file" via npm
> The first problem is in the PluginInfo _parseDependency function
> https://git-wip-us.apache.org/repos/asf?p=cordova-lib.git;a=blob;f=cordova-common/src/PluginInfo/PluginInfo.js;h=48174707b0dbf6f60eb65faeb14c51e4b3868b1b;hb=HEAD#l108
> It does not parse out the dependency version.  This part:
> {code}
>         var dep =
>             { id : tag.attrib.id
>             , url : tag.attrib.url || ''
>             , subdir : tag.attrib.subdir || ''
>             , commit : tag.attrib.commit
>             };
> {code}
> Should be:
> {code}
>         var dep =
>             { id : tag.attrib.id
>             , url : tag.attrib.url || ''
>             , subdir : tag.attrib.subdir || ''
>             , commit : tag.attrib.commit
>             , version : tag.attrib.version
>             };
> {code}  
> The second problem is in the plugman installDependency method
> https://git-wip-us.apache.org/repos/asf?p=cordova-lib.git;a=blob;f=cordova-lib/src/plugman/install.js;h=fca77c688d2b8f19ce63cb176f50ecd44c9a9032;hb=HEAD#l603
> The dep_src is only constructed using the plugin id.
> This:
> {code}
> var dep_src = dep.url.length ? dep.url : dep.id;
> {code}
> Should look something like:
> {code}
>         var dep_src;
>         if (dep.url.length) {
>             dep_src = dep.url;
>         }
>         else if (dep.version) {
>             dep_src = dep.id + '@' + dep.version;
>         } else {
>             dep_src = dep.id;
>         } 
> {code}
> With these changes the Cordova CLI correctly reports:
> Fetching plugin "cordova-plugin-file@^4.0.0" via npm



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org