[ https://issues.apache.org/jira/browse/CB-8472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14322315#comment-14322315 ]
ASF GitHub Bot commented on CB-8472: ------------------------------------ GitHub user TimBarham opened a pull request: https://github.com/apache/cordova-lib/pull/167 CB-8472 Can't find config.xml error installing platform after plugin. Recent changes to the process of adding a platform meant we were trying to trying to install plugins for the platform before we had called prepare() for the platform. Also, we were calling prepare() outside the loop that processes each platform, which meant the plaform local variable was not in scope, and we were passing a reference to a function called platform() to prepare() rather than a platform name. Fixed this by moving the prepare() call back where it used to be - just before we install plugins. You can merge this pull request into a Git repository by running: $ git pull https://github.com/MSOpenTech/cordova-lib CB-8472 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cordova-lib/pull/167.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #167 ---- commit aa332e846058c405af30a6d313ce90783d9bd544 Author: Tim Barham <tim.bar...@microsoft.com> Date: 2015-02-16T02:52:08Z CB-8472 Can't find config.xml error installing platform after plugin. Recent changes to the process of adding a platform meant we were trying to trying to install plugins for the platform before we had called prepare() for the platform. Also, we were calling prepare() outside the loop that processes each platform, which meant the plaform local variable was not in scope, and we were passing a reference to a function called platform() to prepare() rather than a platform name. Fixed this by moving the prepare() call back where it used to be - just before we install plugins. ---- > Exception (can't find config.xml) installing platform after plugins > ------------------------------------------------------------------- > > Key: CB-8472 > URL: https://issues.apache.org/jira/browse/CB-8472 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib > Affects Versions: Master > Reporter: Tim Barham > Priority: Critical > Original Estimate: 24h > Remaining Estimate: 24h > > If you add a platform after adding a plugin, you can get an exception > h4. Repro steps: > # Create a new cordova app (e.g. 'cordova create TestApp'). > # Add a plugin (e.g. 'cordova plugin add org.apache.cordova.camera'). > # Add a platform (e.g. 'cordova platform add browser'). > h4. Result: > The following error: > {code}Failed to install 'org.apache.cordova.camera':Error: ENOENT, no such > file or > directory > 'D:\tbarham\OneDrive\Documents\CordovaApps\TestApp\platforms\browser\config.xml' > at Error (native) > at Object.fs.openSync (fs.js:502:18) > at Object.fs.readFileSync (fs.js:354:15) > at Object.module.exports.parseElementtreeSync > (D:\GIT\Cordova\cordova-lib\cordova-lib\src\util\xml-helpers.js:118:27) > at Object.module.exports.package_name > (D:\GIT\Cordova\cordova-lib\cordova-lib\src\plugman\platforms\browser.js:51:38) > at PlatformMunger.generate_plugin_config_munge > (D:\GIT\Cordova\cordova-lib\cordova-lib\src\plugman\util\config-changes.js:264:54) > at PlatformMunger.add_plugin_changes > (D:\GIT\Cordova\cordova-lib\cordova-lib\src\plugman\util\config-changes.js:184:29) > at > D:\GIT\Cordova\cordova-lib\cordova-lib\src\plugman\util\config-changes.js:315:14 > at Array.forEach (native) > at PlatformMunger_process [as process] > (D:\GIT\Cordova\cordova-lib\cordova-lib\src\plugman\util\config-changes.js:314:45){code} > The problem is we are trying to install plugins for the platform before we > call prepare() for the platform, so config.xml has not been created yet. > *Also note:* we are currently passing junk to prepare() - because of the > location of the call, the local variable _platform_ is not defined, and > instead we are passing a reference to a function _platform()_. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org