[ https://issues.apache.org/jira/browse/CB-12738?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marcus Pridham updated CB-12738: -------------------------------- Description: 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: var dep = { id : tag.attrib.id , url : tag.attrib.url || '' , subdir : tag.attrib.subdir || '' , commit : tag.attrib.commit , version : tag.attrib.version }; 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: var dep_src = dep.url.length ? dep.url : dep.id; Should look something like: 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; } With these changes the Cordova CLI correctly reports: Fetching plugin "cordova-plugin-file@^4.0.0" via npm was: 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: var dep = { id : tag.attrib.id , url : tag.attrib.url || '' , subdir : tag.attrib.subdir || '' , commit : tag.attrib.commit }; Should be: var dep = { id : tag.attrib.id , url : tag.attrib.url || '' , subdir : tag.attrib.subdir || '' , commit : tag.attrib.commit , version : tag.attrib.version }; 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: var dep_src = dep.url.length ? dep.url : dep.id; Should look something like: 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; } With these changes the Cordova CLI correctly reports: Fetching plugin "cordova-plugin-file@^4.0.0" via npm > 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 > > 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: > var dep = > { id : tag.attrib.id > , url : tag.attrib.url || '' > , subdir : tag.attrib.subdir || '' > , commit : tag.attrib.commit > , version : tag.attrib.version > }; > > 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: > var dep_src = dep.url.length ? dep.url : dep.id; > Should look something like: > 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; > } > 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-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org